2017-01-11 1 views
2

flatternImages() 함수는 사용할 수 없기 때문에 사용할 수 없습니다."Imagick :: flattenImages 메소드는 더 이상 사용하지 말아야하며 사용하지 않아야합니다."

나는

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

를 사용해야하지만 ALPHACHANNEL_REMOVE 상수는 정의되지 않습니다.

어떻게이 문제를 해결할 수 있습니까?

P.

"Unable to set image alpha channel"

+0

당신이 말할 수 Imagick와 ImageMagick이 당신의 버전 사용 중입니다 .... ALPHACHANNEL_REMOVE가 존재하지 않는 것은 꽤 오래되었습니다. – Danack

답변

0

this answer on php.net에 따르면이 전 3.2.0b2에 ImageMagick이 버전을 사용해야합니다 나는 Imagick :: ALPHACHANNEL_REMOVE \ 대신 11을 사용하여 오류가 발생했습니다. 이 때, 당신은 (11 인) 라이브러리의 최신 버전으로 업그레이드하거나 일정 Imagick::ALPHACHANNEL_REMOVE에 할당 된 값을 사용할 수 있습니다에서

:

$im->setImageBackgroundColor('white'); 
$im->setImageAlphaChannel(11); // Imagick::ALPHACHANNEL_REMOVE 
$im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN); 
관련 문제