So konvertieren Sie SVG nach PNG mit ImageMagick in PHP?
Möchte ich umwandeln SVG in PNG mit ImageMagick mit PHP. Ich habe ImageMagick installiert auf XAMPP und überprüft es mit phpinfo(), aber kann immer noch nicht Bilder generieren. Hier ist mein code:
$svg = file_get_contents($svg_file);
//echo $svg;
$im = new Imagick();
//$im->setBackgroundColor(new ImagickPixel('transparent'));
//$svg = str_replace(array("color1","color2"),array("red","lightblue"),$svg);
$im->readImageBlob($svg);
//$im->setImageFormat("png32");
$im->setImageFormat("png24");
//$im->resizeImage(720, 445, imagick::FILTER_LANCZOS, 1);
//$im->adaptiveResizeImage(720, 445);
$im->writeImage($png_file);
header('Content-type: image/png');
echo $im;
$im->clear();
$im->destroy();
- Irgendwelche Fehlermeldungen?
- Erstens dauert es zu lange und der nächste schafft es, eine leere Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie diese Imagick unter Windows 8 xampp
Ich dieses Beispiel und für mich funktioniert, laden Sie einfach die leer-us-map.svg
Kann es nicht sein, in Bezug auf Ihr problem, aber Sie haben versucht, zu rufen die Imagick-Klasse mit einem "\" vor ? Wie :
$newImage = new \Imagick();
Ich weiß, dass ich hatte den gleichen Fehler wie du, das ist die Klasse konnte nicht gefunden werden, bis ich fügte hinzu, diese Präfix-Namensraum. Ich denke, dass seine im Zusammenhang mit namespace und wie laden Sie Ihre class-Dateien mit dem classLoader der web-app.
Wenn Sie leere png-Bilder, obwohl Sie alle Ratschläge hier, möchten Sie vielleicht, um zu überprüfen, dass jeder text in Ihrem svg-passend zu entkommen. Ich verbrachte eine Stunde oder zwei kratzen meinem Kopf, warum war ich nicht immer jede Ausgabe, bis ich entdeckte, dass ich hatte ein kaufmännisches und-Zeichen in meinem text. Das Update war um geben Sie den text durch htmlspecialchars() wird zuerst, d.h.
Hoffe, dies hilft jemand mit ähnlichen Problemen konfrontiert.