如何用ImageMagick将8×8黑白SVG无失真缩放为80×80 PNG?
用ImageMagick无失真缩放8×8黑白SVG为80×80 PNG
我有一个由8×8黑白“像素”组成的SVG图形,SVG代码如下:
<?xml version="1.0"?> <svg xmlns="http://www.w3.org/2000/svg" width="8" height="8" viewBox="0 0 8 8"> <path fill="#fff" d="M0,0H8V8H0"/> <path fill="#000" d="M0,0H7V1H6V0H5V3H8V2H7V5H6V5H6V4H8V6H7V8H8V7H1V8H2V5H3V6H4V7H5V4H2V1H3V2H4V3H1V4H0" fill-rule="evenodd"/> </svg>
我使用以下ImageMagick命令尝试缩放:
convert a3x2.svg -scale 80x80 a3x2.png
得到的结果与输入完全不符;使用-resize 80x80也无效,会出现模糊且像素值错误的问题。我需要的是将每个原始像素放大为10×10的黑白PNG,无平滑或抖动效果。
补充说明
使用Inkscape命令可以实现需求:
inkscape -w 80 -h 80 a3x2.svg -o a3x2.png
该命令能得到正确的转换结果(每个原始像素被无失真放大为10×10的黑白块),但我更倾向使用ImageMagick完成这个操作。
我的ImageMagick版本信息:
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org Copyright: © 1999-2019 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC Modules OpenMP Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib
补充说明2
执行convert -verbose a3x2.svg txt:的输出结果如下:
'inkscape' '/tmp/magick-445746DLWe3-eb4nrF' --export-filename='/tmp/magick-445746FrMsKiicip2C' --export-dpi='96,96' --export-background='rgb(100%,100%,100%)' --export-background-opacity='1' > '/tmp/magick-445746cd-3Bn1wlmb8' 2>&1 mvg:/tmp/magick-445746UpfR0goE2RRA=>/tmp/magick-445746UpfR0goE2RRA MVG 8x8 8x8+0+0 16-bit sRGB 445B 0.000u 0:00.000 a3x2.svg MVG 8x8 8x8+0+0 16-bit sRGB 445B 0.000u 0:00.000 # ImageMagick pixel enumeration: 8,8,65535,srgba 0,0: (0,0,0,65535) #000000000000FFFF black 1,0: (0,0,0,65535) #000000000000FFFF black 2,0: (0,0,0,65535) #000000000000FFFF black 3,0: (0,0,0,65535) #000000000000FFFF black 4,0: (0,0,0,65535) #000000000000FFFF black 5,0: (0,0,0,65535) #000000000000FFFF black 6,0: (0,0,0,65535) #000000000000FFFF black 7,0: (0,0,0,65535) #000000000000FFFF black 0,1: (0,0,0,65535) #000000000000FFFF black 1,1: (0,0,0,65535) #000000000000FFFF black 2,1: (0,0,0,65535) #000000000000FFFF black 3,1: (0,0,0,65535) #000000000000FFFF black 4,1: (0,0,0,65535) #000000000000FFFF black 5,1: (0,0,0,65535) #000000000000FFFF black 6,1: (0,0,0,65535) #000000000000FFFF black 7,1: (0,0,0,65535) #000000000000FFFF black 0,2: (0,0,0,65535) #000000000000FFFF black 1,2: (0,0,0,65535) #000000000000FFFF black 2,2: (0,0,0,65535) #000000000000FFFF black 3,2: (0,0,0,65535) #000000000000FFFF black 4,2: (0,0,0,65535) #000000000000FFFF black 5,2: (0,0,0,65535) #000000000000FFFF black 6,2: (61439,61439,61439,65535) #EFFFEFFFEFFFFFFF srgba(94%,94%,94%,1) 7,2: (0,0,0,65535) #000000000000FFFF black 0,3: (0,0,0,65535) #000000000000FFFF black 1,3: (0,0,0,65535) #000000000000FFFF black 2,3: (0,0,0,65535) #000000000000FFFF black 3,3: (0,0,0,65535) #000000000000FFFF black 4,3: (0,0,0,65535) #000000000000FFFF black 5,3: (0,0,0,65535) #000000000000FFFF black 6,3: (0,0,0,65535) #000000000000FFFF black 7,3: (0,0,0,65535) #000000000000FFFF black 0,4: (0,0,0,65535) #000000000000FFFF black 1,4: (0,0,0,65535) #000000000000FFFF black 2,4: (0,0,0,65535) #000000000000FFFF black 3,4: (0,0,0,65535) #000000000000FFFF black 4,4: (0,0,0,65535) #000000000000FFFF black 5,4: (0,0,0,65535) #000000000000FFFF black 6,4: (0,0,0,65535) #000000000000FFFF black 7,4: (0,0,0,65535) #000000000000FFFF black 0,5: (65535,65535,65535,65535) #FFFFFFFFFFFFFFFF white 1,5: (61439,61439,61439,65535) #EFFFEFFFEFFFFFFF srgba(94%,94%,94%,1) 2,5: (0,0,0,65535) #000000000000FFFF blaca3x2.svg=> MVG 8x8 8x8+0+0 16-bit sRGB 445B 0.000u 0:00.000 k 3,5: (0,0,0,65535) #000000000000FFFF black 4,5: (61439,61439,61439,65535) #EFFFEFFFEFFFFFFF srgba(94%,94%,94%,1) 5,5: (0,0,0,65535) #000000000000FFFF black 6,5: (0,0,0,65535) #000000000000FFFF black 7,5: (0,0,0,65535) #000000000000FFFF black 0,6: (65535,65535,65535,65535) #FFFFFFFFFFFFFFFF white 1,6: (65535,65535,65535,65535) #FFFFFFFFFFFFFFFF white 2,6: (0,0,0,65535) #000000000000FFFF black 3,6: (0,0,0,65535) #000000000000FFFF black 4,6: (0,0,0,65535) #000000000000FFFF black 5,6: (0,0,0,65535) #000000000000FFFF black 6,6: (0,0,0,65535) #000000000000FFFF black 7,6: (0,0,0,65535) #000000000000FFFF black 0,7: (65535,65535,65535,65535) #FFFFFFFFFFFFFFFF white 1,7: (0,0,0,65535) #000000000000FFFF black 2,7: (0,0,0,65535) #000000000000FFFF black 3,7: (0,0,0,65535) #000000000000FFFF black 4,7: (0,0,0,65535) #000000000000FFFF black 5,7: (0,0,0,65535) #000000000000FFFF black 6,7: (0,0,0,65535) #000000000000FFFF black 7,7: (0,0,0,65535) #000000000000FFFF black
现寻求正确的ImageMagick命令,实现无失真的黑白PNG缩放。
内容的提问来源于stack exchange,提问作者emacs drives me nuts
相关产品推荐
相关产品推荐

