使用python将SVG转换为PNG有时会导致不平滑的曲线

时间:2013-06-03 18:20:01

标签: django svg png imagemagick-convert magickwand

目标: SVG到python应用程序中的PNG

我正在将SVG文件转换为PNG并出现一个奇怪的问题。对于大多数文件,PNG渲染完美,但对于某些文件,曲线在点之间呈现为直线。

使用的技术

  • Django的
  • Wand(一个ImageMagick python绑定)

我的view.py文件中的代码段

with Image( blob=temp_svg_data, format='svg' ) as original:
  original.format = 'png'
  original.save(filename=png_location)

错误SVG路径的示例。

<path fill="red" d="m27.518,42.335c3.9,0,7.043-3.166,7.043-7.055c0-3.911-3.144-7.055-7.043-7.055c-3.888,0-7.055,3.144-7.055,7.055
C20.463,39.169,23.63,42.335,27.518,42.335z"/>

输出

注意右边渲染的PNG中的红色是如何不在平滑曲线上的。

http://cl.ly/image/2t3B2w0e393Y

理论

  • 小数位数。 - 不是。找到的曲线很好地呈现3位小数。
  • SVG Generator。 - 不是。从AI版本中找到有效且无效的曲线。
  • SVG移动数据中的Capitol vs Lowercase(Absolute vs Relative)字母。

0 个答案:

没有答案