par
benws2305 » 17 juil. 2022, 18:39
Bonjour,
Je souhaite convertir une image SVG généré par un script =>
https://meteo-gournaysuraronde.fr/Vigil ... lance2.svg en fichier png.
Le seul soucis c'est que j'essaye différentes méthodes de conversion et le png obtenu ne possède que la carte et les pictogrammes sont complètement anarchiques =>
https://meteo-gournaysuraronde.fr/Vigil ... lance2.png
$usmap = 'carte_vigilance2.svg';
$im = new Imagick();
$svg = file_get_contents($usmap);
$im->setBackgroundColor(new ImagickPixel('transparent')); //Fond transparent
$im->readImageBlob($svg);
/*png settings*/
$im->setImageFormat("png24");
//$im->resizeImage(720, 445, imagick::FILTER_LANCZOS, 1); /*Optional, if you need to resize*/
/*jpeg*/
$im->setImageFormat("jpeg");
// $im->adaptiveResizeImage(720, 445); /*Optional, if you need to resize*/
$im->writeImage('carte_vigilance2.png');/*(or .jpg)*/
$im->clear();
$im->destroy();
Je m'aperçois cependant que lorsque je mets l'URL de l'image svg sur le forum les pictogrammes n'apparaissent pas, alors que si on y accède directement sur le serveur via le premier lien, oui ! Peut être est-ce lié ? =>

Bonjour,
Je souhaite convertir une image SVG généré par un script => https://meteo-gournaysuraronde.fr/Vigilances/carte_vigilance2.svg en fichier png.
Le seul soucis c'est que j'essaye différentes méthodes de conversion et le png obtenu ne possède que la carte et les pictogrammes sont complètement anarchiques =>https://meteo-gournaysuraronde.fr/Vigilances/carte_vigilance2.png
[PHP]$usmap = 'carte_vigilance2.svg';
$im = new Imagick();
$svg = file_get_contents($usmap);
$im->setBackgroundColor(new ImagickPixel('transparent')); //Fond transparent
$im->readImageBlob($svg);
/*png settings*/
$im->setImageFormat("png24");
//$im->resizeImage(720, 445, imagick::FILTER_LANCZOS, 1); /*Optional, if you need to resize*/
/*jpeg*/
$im->setImageFormat("jpeg");
// $im->adaptiveResizeImage(720, 445); /*Optional, if you need to resize*/
$im->writeImage('carte_vigilance2.png');/*(or .jpg)*/
$im->clear();
$im->destroy();
[/PHP]
Je m'aperçois cependant que lorsque je mets l'URL de l'image svg sur le forum les pictogrammes n'apparaissent pas, alors que si on y accède directement sur le serveur via le premier lien, oui ! Peut être est-ce lié ? => [img]https://meteo-gournaysuraronde.fr/Vigilances/carte_vigilance2.svg[/img]