2016-11-16 2 views
1

Je veux convertir svg en jpg en utilisant php imagick, mais le résultat n'est pas que je suis impatient de; c'est svg et jpg: enter image description herePHP utiliser imagick convertir svg en jpg texte vertical devenir transversal

Le code est $im = new Imagick(); $svg = file_get_contents($imageFile); $im->readImageBlob($svg); $im->setImageFormat('jpeg'); $im->writeImage($fileUrl.'.jpg'); $im->clear(); $im->destroy();

Le texte vertical se transversal, le texte en gras est plus gras que dans les fenêtres.

Mon environnement est sous centOS, la version ImageMagick est 7.8.2.

Quelqu'un a-t-il une idée pour résoudre ce problème? Merci beaucoup pour vos suggestions.

Répondre

0
 $svg = path to svg; 
     $im = new Imagick();    

     $skinurs= path to watermark.png; 
     $watermark = new Imagick(); 
     $watermark->readImage($skinurs); 

     $im->readImageBlob($svg); 
     $im->setImageFormat("png32"); 
     $im->setImageCompressionQuality(100); 
     $iWidth = $im->getImageWidth(); 
     $iHeight = $im->getImageHeight(); 
     $wWidth = $watermark->getImageWidth(); 
     $wHeight = $watermark->getImageHeight(); 

      $watermark->scaleImage($iWidth/3, $iHeight/2); 

      $wWidth = $watermark->getImageWidth(); 
      $wHeight = $watermark->getImageHeight(); 
     } 
     $im->compositeImage($watermark, imagick::COMPOSITE_OVER,0,0); 
     $im->resizeImage(720, 445, imagick::FILTER_LANCZOS, 1); 
     $base64=base64_encode($im); 
     $im->clear(); 
     $im->destroy(); 
     return 'data:image/jpg;base64,' . $base64; 

Ceci est un code de travail pour convertir svg en png. Cela pourrait être utile.

+0

Merci, mais c'est inutile, avez-vous d'autres idées? – yzwudi