2012-03-05 42 views
2

我有一个地方可以使用回形针上传SVG文件,并将其转换为具有相同维度的PNG。 当它被转换时,我的最终PNG输出有白色背景,当我上传的SVG有透明背景回形针 - 将SVG转换为PNG时保持透明

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

实施例,反式< < “-fuzz 0%-transparent 'RGB(255,255,255)'”

Finaly得到它与使用Inkscape的我的SVG转换为PNG和替换所产生的PNG的after_save的方法工作回形针。

实施例,Inkscape中--export-PNG = OUTPUT.png INPUT.svg

但是这看起来像一个双重的工作,使用曲别针(IM)和也Inkscape中。 那么,当我上传的SVG具有透明背景时,是否有任何其他方式可以使用具有透明背景的回形针来正确使用PNG。

由于提前,

回答

2

Finaly了问题整理自己... :) 这是我不好,因为我没有看到“-layers合并”正从初始化添加到我的回形针命令.. 。

回形针:: Attachment.default_options [:convert_options] = {:所有=> '-layers合并'}

终于它与回形针(IM)本身... 工作希望这将帮助别人...... :)

+0

该解决方案并没有为我工作。 @Shaliko解决方案效果很好。 – 2016-03-27 08:52:53

2

我用回形针“source_file_options”选项固定的问题:

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