Bonjour à tous,
J'ai un petit soucis avec Imagick pour convertir un fichier qui contient du code svg en image png.
Je met le fichier svg en pièce jointe (j'ai juste modifier l'extension svg en txt pour le joindre)
Tout d'abord j'ai installer et j'ai donc bien les extensions :
J'ai tester le fichier svg directement dans le navigateur, l'image s'affiche bien dans les navigateurImageMagick supported formats : PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8
Mais quand je passe par imagick j'obtiens une belle erreur.
Voici le code php
Et j'obtiens l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php $usmap = 'temp/temp.svg'; $im = new Imagick(); $svg = file_get_contents($usmap); $im->readImageBlob('<?xml version="1.0" encoding="UTF-8" standalone="no"?>'.$svg); $im->setBackgroundColor(new ImagickPixel('transparent')); $im->setImageFormat("png32"); $im->writeImage('temp/image.png');/*(or .jpg)*/ $im->clear(); $im->destroy(); ?>
Malheureusemenr rien n'y fait, impossible d'obtenir l'image en png.Uncaught ImagickException: no decode delegate for this image format `SVG' @ error/blob.c/BlobToImage/353
Je crée des pdf à la volé pour des rapports, et j'aimerais donc convertir les graphique svg en png afin de les inclure dans le pdf.
Si d'autres solution existe, je suis preneur.
D'avance merci de votre participation
Spliffer
Partager