2017-03-06 1 views
0


Je suis en train de convertir des eps en image png en utilisant imagick.Ceci est le code que j'utilise.PHP - convertir EPS au format PNG en utilisant Imagick

 


    $path = getcwd().'/uploads/1488/791/586/imprint_option_1A.eps'; 
     $save_path = getcwd().'/uploads/1488/791/586/imprint_option_2E_c.png'; 
     $image = new Imagick(); 
     $image->readimage($path); 
     $image->setBackgroundColor(new ImagickPixel('transparent')); 
     $image->setResolution(300,300); 
     $image->scaleImage(600, 270); 
     $image->setImageFormat("png"); 
     $image->writeImage($save_path); 

mais la transparence est pas que je travaille avec l'image obtenu fond blanc (Result image). et quand nous l'échelle l'image perd la clarté ..

Une idée?

Voici mon fichier EPS https://drive.google.com/open?id=0Bwq4DvGGbHVfT0FYTE94WW5GTnc

Répondre

0

La fonction setResolution doit être appelée avant la lecture de l'image. Ainsi,

$image = new Imagick(); 
$image->setResolution(1200, 1200); 
$image->readImage($path); 

devrait le faire. En ce qui concerne la transparence, pouvez-vous essayer d'obtenir l'entrée en tant que sRGB au lieu de CMJN? Si je convertis d'abord le fichier d'entrée en pdf avec epstopdf puis que j'utilise ce fichier converti dans le script PHP, il produit un fichier PNG transparent.