2

我有一个 SVG 图像,如下所示,我正在尝试将其转换为 PNG:

<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">
  <image x="0" y="0" width="158" height="158"
     xlink:href="http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png" />
</svg>

这在 Ubuntu 10.04 上有效,但现在在 12.04 上无效。原因似乎是 RSVG 现在不会加载任何没有相对路径的图像 URL。

这不是一个选项 - 我的网站生成 SVG(所以我知道它是安全的),但它需要通过 HTTP 加载图像。

图像在 Chrome 中显示良好,但在 Imagemagick、Gimp 或(奇怪的)Inkscape 中显示不佳。

如果有帮助,我将通过 PHP 使用 Imagemagick,但 RSVG 是此处进行 SVG 转换的代表。

除了重新编译librsvg之外,有没有人对如何解决这个问题有任何想法?

我已经尝试过ImageMagick (RSVG) won't import images in SVG的建议,看起来很可疑,就像是这个问题:rsvg doesn't render linked images


我在这里找到了负责的代码:https ://git.gnome.org/browse/librsvg/tree/rsvg-base.c#n2169

我可能是错的,但似乎他们已经禁用了来自其他 URL 的加载,没有任何方法可以在重新编译之前重新启用它?

4

0 回答 0