如何在不使用抗锯齿的情况下光栅化SVG


21

我已经在inkscape中制作了地图,现在需要将其更改为位图或.png。地图将由计算机程序解释,该计算机程序将寻找确切的颜色,因此边缘需要清晰。当我使用inkscape导出.png时,请使用在线文件转换器,甚至拍摄屏幕快照,它始终会被消除锯齿。救命。在此处输入图片说明

在此处输入图片说明


嗯...在导出到栅格时,Inkscape似乎不提供别名选项。您可以尝试在栅格应用程序(例如PS)中打开SVG,然后查看是否在其中提供了别名选项。
2014年

我没有的Photoshop 7.0不能打开SVG。我没有其他程序可以做到。如果有任何可能有效的免费软件,我会对它们有什么兴趣。
威廉W

至于栅格应用程序,GIMP是开源的。Paint.net是免费软件。不确定是否支持SVG的打开。
DA01 2014年

它看起来像有可能是一种方式,在浏览器中做到这一点:stackoverflow.com/questions/16889078/...
DA01

哦,最后...一种解决方法可能是将屏幕快照放入PhotoShop,然后使用PhotoShop的“ Posterize”滤镜/工具将调色板减少到仅要使用的纯色。
DA01 2014年

Answers:


17

Inkscape的开发版本(即将发布的0.91版)在“文档属性”窗口中具有全局抗锯齿开关,该开关也可以用于导出。在下载页面上查找“开发版本”:

http://www.inkscape.org/en/download/


谢谢,你知道它要等多久吗?我没有在网站上看到它。
威廉W

当前阶段为“霜冻”。您可以在此处查看发布的进度:inkscape.org/en/develop/next-release我认为应该在未来5个月内发布。
2014年

哇。他们正在从.48跳到.91!当然,这还不到“一半版本”,但在inkscape世界中仍然是一个巨大的更新。1.0版本到了!
DA01 2014年

5
可悲的是,它对出口没有任何影响……
Ray

导出为PNG文件时对我也不起作用。
测试

12

一种简单的解决方案是导出为PDF,然后对生成的PDF 使用Ghostcript。使用来自Openclipart草莓图像和命令

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m \
   -r72 -dGraphicsAlphaBits=1 \
   -sOutputFile=image.png image.pdf 

我得到以下结果。

非抗甜草莓图像。 放大非反草莓图像。

如果您的图片还包含文字,则也需要添加-dTextAlphaBits=1。将其更改-r72为其他值以重新缩放图像。


2
当然,这是一种回旋的方式,但是如果没有用,那就是goshdang。
obskyr 2014年

11

Inkscape 0.91及更高版本具有切换抗锯齿功能。可以通过“文档属性”窗口(Shift + Ctrl + D)进行访问。启用后(默认设置),此三角形数组的图像如下所示。

在此处输入图片说明

关闭时,图像看起来更平滑。

在此处输入图片说明

正如其他人提到的那样,当前这对png导出没有影响。抗锯齿仍处于打开状态,三角形之间的间隙仍然可见。

禁用抗锯齿时,Inkscape会执行的操作将添加shape-rendering="crispEdges"到文件中。在文本编辑器中打开SVG,看一下第19行附近的某个位置,您应该会看到它。

在此处输入图片说明

幸运的是,在将SVG导入GIMP时,将读取并遵守该标签。GIMP可以导入SVG并设置导入分辨率,这意味着您可以在导入时将png缩放为所需大小。它将裁剪到页面边界。

在此处输入图片说明

现在,您可以保存图像,并且抗锯齿功能将被禁用。

在此处输入图片说明

几次被报告为错误:


1
完美的解释!为了说明起见,对角线或圆形会使效果更加明显。
Max N

我发现除非shape-rendering:auto在SVG中搜寻每个实例并将其转换为,否则无法在GIMP中进行加载crispEdges。事实证明,很多路径(也许都是路径)都具有:auto其样式说明。
突变鲍勃

2

您也可以使用SVG的shape-rendering属性使边缘变脆。

在SVG XML中,如下所示:

<svg:something shape-rendering="crispEdges" ... />

在Inkscape的UI中,您可以使用XML编辑器Ctrl+ Shift+ X)手动进行设置,如以下屏幕截图所示:

Inkscape XML编辑器

选择该属性应应用于的节点。在这里,我将其应用于一组路径。该属性显示在右侧。要添加它,请复制您在右下角看到的文本,然后按Set

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.