I am trying to resize and save an .eps file to a .jpeg with Imagick,
I have tried resizeImage
, scaleImage
, setImageResolution
, and I've tried writing to .png, but the result is always very bad. I've tried setting the compression quality to 100, and I've tried various resizeImage filter and blur params.
$imagick = new Imagick();
$imagick->readImage($file);
$imagick->resizeImage($width, $height, imagick::FILTER_CATROM, 1);
$imagick->setImageFormat('jpeg');
return $imagick->writeImage($name);
Is there some magic I am missing?
Edit: I've read somewhere about similar issues being Ghostscript related, I have the Ghostscript port installed. How can I verify it is working?
For the record the solution was to execute image magick via the shell:
e.g.
$cmd = escapeshellcmd("convert -resize '{$width}x{$height}' -density 300 -flatten {$file} -colorspace rgb {$jpeg}");
exec($cmd, $out, $return_var);