我想將透明背景和反鋸齒邊緣(使用半透明像素)的SVG圖像轉換爲PNG文件。不幸的是,我不能讓ImageMagick去做抗鋸齒,邊緣總是看起來很糟糕。這是我的嘗試:使用ImageMagick將SVG轉換爲透明PNG使用ImageMagick
convert +antialias -background transparent in.svg -resize 25x25 out.png
任何想法或不同的命令行工具,我可以使用?
我想將透明背景和反鋸齒邊緣(使用半透明像素)的SVG圖像轉換爲PNG文件。不幸的是,我不能讓ImageMagick去做抗鋸齒,邊緣總是看起來很糟糕。這是我的嘗試:使用ImageMagick將SVG轉換爲透明PNG使用ImageMagick
convert +antialias -background transparent in.svg -resize 25x25 out.png
任何想法或不同的命令行工具,我可以使用?
Inkscape中會做到這一點:
inkscape \
--export-png=out.png --export-dpi=200 \
--export-background-opacity=0 --without-gui in.svg
其實,閱讀文檔的ImageMagick:
-antialias
啓用繪製字體和線條時抗鋸齒像素渲染/禁用。 默認情況下,繪製時對象(例如文本,線條,多邊形等)是抗鋸齒的。使用 + antialias禁用抗鋸齒邊緣像素的添加。然後,這會將添加到圖像的顏色數量減少到僅僅直接繪製的顏色數量。也就是說,繪製這樣的對象時不添加混合>顏色。
+ antialias確實會禁用抗鋸齒功能。
作爲一個側面說明,我發現獲得透明度有點棘手。而不是使用透明,我不得不使用無。
convert -background none in.svg out.png
至少在這個時候(6.8.6),它也適用於_transparent_。 – 2014-01-09 10:43:04
「無」和「透明」都爲我創建了不透明的白色背景。不透明。我在Mac上使用6.8.8-3 – petrsyn 2014-03-21 13:35:30
'-background none'爲我工作,ImageMagick 6.8.6-6在mac上 – commonpike 2014-03-29 17:58:00
我學會了如何做到這一點是從方法論發現這裏的道路:How to convert a .eps file to a high quality 1024x1024 .jpg?
這是相同的思路@ halfer與inkscape
解決方案--to第一擡高DPI - 但你可以使用-density
選項在imagemagick
中完成同樣的操作。
convert -density 200 in.svg -resize 25x25 -transparent white out.png
我發現的第一個解決方案保留了一些SVG的調色板,例如, Apache NiFi的徽標(https://nifi.apache.org/assets/images/apache-nifi-logo.svg)。 – timss 2018-03-01 12:09:40