$image = "[...]"; //binary string containing PNG image
$file = fopen('image.tmp', 'wb');
fputs($file, $image);
fclose($file);
$image = new Imagick('PNG:image.tmp');
$image->thumbnailImage($width, $height);
$image->setImageFormat('jpg');
$image->setCompressionQuality(97);
$image->writeImage('image.jpg');
Ce qui précède ne fonctionne pas et me donne une image noire pour this image. En faisant à la placephp imagick convertir PNG en jpg
[...]
$image->setImageFormat('png');
$image->setCompressionQuality(97);
$image->writeImage('image.png');
tout va bien à nouveau. Je pense qu'il doit faire quelque chose avec un fond transparent, qui n'est pas disponible au format JPG. Quelqu'un peut-il aider à résoudre ce problème (imagick n'est pas très documenté, donc je ne sais pas comment m'aider).
Ceci est très utile lorsque vous traitez des fichiers PDF, puisque la méthode' flattenImages' réinitialise la page à la dernière ... Merci @rabudde! – Roberto