2009-07-24 14 views
2

Ich bin derzeit mit einem Nebenprojekt kämpfen, ich hoffe, Sie können mir helfen.SVG zu JPEG über PHP4

Ich versuche, SVG-Bilder mit PHP4 in JPEG zu konvertieren.

Ursprünglich versuchte ich interface java with php über die php_java.dll und Jar, die mit PHP 4.2.2 kommt, aber während ich nie irgendwelche Warnungen bekam, habe ich nie geschafft, auch nur die einfachste Test funktioniert. Der gesamte Text, der sich darauf bezieht, ist für JDK1.4 und ein article on setting it up on O'Reilly website ist für JDK1.2. Das würde es mir ermöglichen, Batik zu verwenden.

Also schaute ich dann härter und sah kryptische Hinweise zur Verwendung von PHP:GD SVG zu JPEG zu konvertieren. GD scheint in der Lage zu sein, JPEG, PNG, GIF usw., aber nicht SVG direkt zu laden und zu speichern. GD scheint ein Vektorgrafik-Format zu verwenden, aber nicht ganz sicher, ob es SVG-kompatibel ist (ich bin für beide ein Noob).

Ich habe eine Perl GD::SVG module gefunden, aber offensichtlich erfordert Perl - und in Anbetracht der Probleme, die ich mit PHP < -> Java hatte ich es verabscheuen diesen Weg zu gehen.

Ich fand auch eine Website (die ich jetzt nicht finden kann), die die Geschwindigkeit der verschiedenen SVG-Konvertierungen mit RSVG, Kairo und ein paar anderen diskutiert. Wenn man von Anwendungen spricht, die SVG in JPEG umwandeln, diskutieren die Leute auch ImageMagick. Während das auf der Linux-Box, die der Server ist, funktionieren könnte, mache ich 99% meiner Entwicklung in Windows - daher bevorzuge ich eine reine PHP-Lösung und wrestle nicht mit Unterschieden zwischen Anwendungen auf verschiedenen Plattformen.

Ich überlege mir jetzt, einen SVG-> GD Konverter zu schreiben. Die letzte Alternative ist die Verwendung von SVG im Browser über Raphael. Ich würde lieber auf dem Server zu JPEG konvertieren und das Bild normal bedienen.

Hat jemand irgendeinen Gebrauch von SVG-> GD gehabt, irgendwelche OS kennen (aber nicht GPL) Konverter oder haben Sie irgendwelche besseren Ideen?

Antwort

0

Endlich kann ich es beheben, indem ich tatsächlich das 1.4 JDK von Suns Archiv herunterlade und installiere. Arbeitete kein Problem. Etwas muss zwischen 1.4 und 1.6.14 geändert werden, aber ich bin froh, dass es funktioniert hat.

Auch während der Recherche eines Blogbeitrags zu diesem Thema stieß ich auf Image_Canvas, die eine bessere (dh es ist in PHP geschrieben) Option sein könnte.

1

Es ist nicht gepflegt, und ich kann nicht dafür bürgen, aber Sie haben diese Option nicht erwähnt. Es klingt wie das, was Sie mit Batik machen wollten.

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

Sie wissen nicht, ob dies oder nicht hilft.

+0

Das war, was ich mit Batik zu tun versuchte. –