2017-07-06 66 views
0

我试图将PDF图转换为SVG,所以我可以用Inkscape编辑一些细节。我遇到的问题是,通过某种平滑处理,导入会稍有变化。pdf2svg导致模糊图像

特别地,这是原始图:

enter image description here

这是转换后的数字为SVG

enter image description here

这是pdf2svg的输出,这正是如果我直接使用Inkscape,也会得到同样的结果。

我附加了一个链接,您可以在这里获得这两个文件。

https://www.dropbox.com/s/domxcc8pncyouy6/images.tar.gz?dl=0

你知道的解决方法,这个问题?

回答

0

没有看到SVG,很难说清楚。然而,它看起来像您的PDF/SVG的“热图”部分可能是一个低分辨率的位图,正在页面中放大。

默认情况下,SVG渲染器将在放大图像时使用插值。这使得图像在大尺度上看起来平滑/模糊。

您可以尝试在您的SVG中查找<image>元素,并将image-rendering="pixelated"属性添加到<image>标记。某些浏览器支持该选项,并将使用最近邻居缩放方法缩放图像。

否则,您可能需要从PDF或SVG中提取图像;以更高的分辨率(例如,4x或8x)重新取样;然后将其重新插入文件。

  1. 查找SVG文件(<image id="image5" .../>
  2. 提取从DataURI Base64编码的图像,然后使用base64解码器解码。
  3. 乘使用编辑器,cusch如Photoshop或图像分辨率的图像瘸子。
  4. 编码文件恢复为Base64
  5. 更新<image>元素与新的Base64。
+0

钍要求答案。如果您想看看,我附上了一个链接,您可以从中获取文件。我尝试编辑SVG,但似乎没有解决问题。 – Onturenio

+0

是的。正如我怀疑它是一个低分辨率(65x43)位图。如果您添加了“图像渲染”属性,它可以在Chrome中使用,但不能使用FF(请参阅https://jsfiddle.net/oowz03vy/)。如果你需要它在任何地方工作,那么AFAIK除了按照我的建议提高分辨率之外,没有其他方法可以获得像素化外观。 –