2017-01-11 3 views
2

Ich kann FlatternImages() -Funktion verwenden, weil es veraltet ist."Imagick :: flattenImages-Methode ist veraltet und es sollte vermieden werden"

muss ich

$im->setImageAlphaChannel(\Imagick::ALPHACHANNEL_REMOVE); 
$im->mergeImageLayers(\Imagick::LAYERMETHOD_FLATTEN); 

verwenden Aber ALPHACHANNEL_REMOVE Konstante ist nicht definiert.

Wie kann ich dieses Problem lösen?

P.S. Ich habe versucht, 11 statt \ Imagick :: ALPHACHANNEL_REMOVE zu verwenden und Fehler:

"Unable to set image alpha channel"

+0

Können Sie sagen, welche Version von dem Imagick und ImageMagick Sie benützen .... es muss ziemlich alt sein für ALPHACHANNEL_REMOVE nicht da zu sein. – Danack

Antwort

0

this answer on php.net Nach Sie vor 3.2.0b2 eine ImageMagick Version werden müssen verwenden.

An dieser Stelle können Sie auf die neueste Version der Bibliothek aktualisieren entweder oder den Wert der konstanten Imagick::ALPHACHANNEL_REMOVE zugewiesen verwenden (was 11 ist):

$im->setImageBackgroundColor('white'); 
$im->setImageAlphaChannel(11); // Imagick::ALPHACHANNEL_REMOVE 
$im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN); 
Verwandte Themen