我们有一些在 RMagick 中使用 RVG 绘制内容的代码。我们将它们缩放为不同的尺寸。我想做的是使用保存为 SVG 的文件作为模板。

问题是,当我使用 Magick::Image.read 加载 SVG,然后“使用”它时,它会对其进行光栅化,然后对其进行缩放,而不是生成漂亮的矢量。

有没有一种方法可以正确地做到这一点?

谢谢!

有帮助吗?

解决方案

想法:

  1. Imagemagick 本质上是面向光栅的。如果您想将图像保留为矢量格式,请不要使用 Imagemagick, 正如作者将告诉你的. 。也就是说,即使 imagemagick 默认情况下可能会将您的图像转换为光栅,您也可以 将其从光栅格式转换回矢量格式 (有时)。
  2. SVuGy 可能有帮助。它似乎没有得到很多支持,但可能有效。我没用过。
  3. rmagick 开发人员声称拥有 SVG 到 RVG 解析器,您可以尝试通过 rmagick AT ruby​​forge DOT org 联系他。
  4. 如果一切都失败了,那就弃踢吧。您可以编写一个 xslt 将 svg 转换为 rvg。这两种格式足够接近,因此 可能 不要太痛苦。其他类似的工具 源氏 如果您比 xlst 了解更多 python,这对您来说可能是更快的转换路径。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top