如何将没有灰色的 SVG 二值化为 PNG

How can I binarize an SVG without grays into PNG

好吧,我正在用 ImageMagick 转换 SVG,输出总是有灰色,因为当我二值化图像时,总是没有完全转换黑白图像。对不起,我解释得最糟糕...

我尝试将 SVG 转换为 PNG,但找不到最佳阈值。而且我相信可以将 SVG 更改为 PNG 到没有灰色的具体尺寸,因为在浏览器上我可以看到 SVG 在放大/(缩小)时是如何渲染的。

convert -scale 600x400! ../picture_1.svg ../pìcture_1.png

错误甚至使用其他参数作为阈值和深度,转换效果不佳,因为某些像素可能是黑色但实际上是白色...

是的,由于 anti-aliasing,您会看到灰色。如果一个特征在一个像素的中间,它会将其着色为灰色以欺骗眼睛使线条看起来比实际更平滑。看起来 ImageMagick 没有办法将其关闭。其他人所做的是将输出放大得多,然后使用 "majority rules" 或 "nearest interpolate pixel" 缩小。

这可能有效,但可能需要通过中间步骤分两步完成。

convert -scale 6000x4000! ../picture_1.svg -scale 600x400! -interpolate nearest ../pìcture_1.png