2

我目前正在为一个附带项目而苦苦挣扎,希望您能帮助我。

我正在尝试使用 PHP4 将 SVG 图像转换为 JPEG。

最初,我尝试通过 PHP 4.2.2 附带的 php_java.dll 和 jar 将java 与 php连接,但是虽然我从未收到任何警告,但我从未设法让最简单的测试工作。所有关于它的文本都适用于 JDK1.4,O'Reilly 网站上关于设置它的文章适用于 JDK1.2。那将使我能够使用Batik

因此,我更仔细地查看并看到了使用PHP:GD将 SVG 转换为 JPEG 的神秘参考。GD 似乎能够加载和保存 JPEG、PNG、GIF 等,但不能直接加载和保存 SVG。GD 似乎使用矢量图形格式,但不完全确定它是否与 SVG 兼容(我对两者都是菜鸟)。

我确实找到了Perl GD::SVG module,但显然需要 Perl - 考虑到我在 PHP<->Java 中遇到的问题,我不愿意走这条路。

我还找到了一个网站(我现在找不到),它讨论了 rsvg、Cairo 和其他几个网站的各种 SVG 转换的速度。谈到将 SVG 转换为 JPEG 的应用程序,人们还讨论了ImageMagick。虽然这可能适用于作为服务器的 linux 机器,但我 99% 的开发都是在 Windows 中完成的——因此更喜欢纯 PHP 解决方案,而不是与不同平台上的应用程序之间的差异作斗争。

我现在正在考虑编写一个 SVG->GD 转换器。最后一种选择是通过Raphael在浏览器中使用 SVG 。我宁愿在服务器上转换为 JPEG 并正常提供图像。

有没有人使用过 SVG->GD,知道任何操作系统(但不是 GPL)转换器或有更好的想法?

4

2 回答 2

1

它没有维护,我不能保证,但你没有提到这个选项。这听起来像是你试图用蜡染做的事情。

http://pear.php.net/package/XML_svg2image/

不知道这是否有帮助。

于 2009-07-24T18:36:32.163 回答
0

我终于设法通过从 Sun 的存档中实际下载和安装 1.4 JDK 来修复它。工作没问题。在 1.4 和 1.6.14 之间必须有所改变,但我很高兴我让它工作了。

此外,在研究有关此主题的博客文章时,我发现 Image_Canvas 可能是一个更好的选择(即它是用 PHP 编写的)。

于 2009-07-27T00:44:36.227 回答