【问题标题】:Paperclip - Maintaining transparency when converting SVG to PNG回形针 - 将 SVG 转换为 PNG 时保持透明度
【发布时间】:2012-03-22 21:37:27
【问题描述】:

我有一个地方,我使用回形针上传 SVG 文件,并将其转换为具有相同尺寸的 PNG。 转换后,当我上传的 SVG 具有透明背景时,我的最终 PNG 输出具有白色背景。

尝试使用回形针 convert_options,但它没有提供正确的输出,例如图像的边界上都有一些白色像素。

例如,反式

终于让它使用了 after_save 方法,该方法使用 inkscape 将我的 SVG 转换为 PNG 并替换回形针生成的 PNG。

例如,inkscape --export-png=OUTPUT.png INPUT.svg

但这看起来像是一项双重工作,使用回形针(IM)和inkscape。 那么,当我上传的 SVG 具有透明背景时,有没有其他方法可以使用具有透明背景的回形针来获得正确的 PNG。

提前致谢,

【问题讨论】:

    标签: ruby-on-rails svg png paperclip


    【解决方案1】:

    我通过 Paperclip 'source_file_options' 选项修复了问题:

    has_attached_file :icon,
                        source_file_options:  { all: '-background transparent' },
                        styles: {
                          :"200" => ["200", :png],
                        }
    

    【讨论】:

      【解决方案2】:

      终于自己解决了这个问题... :) 这是我的错,因为我没有看到“-layers merge”从初始化程序添加到我的回形针命令中......

      回形针::Attachment.default_options[:convert_options] = { :all => '-图层合并' }

      终于让它与回形针(IM)本身一起工作...... 希望它会帮助某人..... :)

      【讨论】:

      • 这个解决方案对我不起作用。 @Shaliko 解决方案效果很好。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 2013-04-11
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多