
Imagick::getImageCompose 함수를 사용하여 두 개의 이미지 파일을 합성할 때, 알파 채널이 제대로 적용되지 않는 이유는 setImageAlphaChannel 함수를 두 번 호출하여 알파 채널을 설정하는 것이 문제입니다.
setImageAlphaChannel 함수를 호출할 때, 이미지를 새로 생성하거나 이미지를 변경하는 경우에만 호출해야 합니다. setImageCompose 함수를 호출한 후 setImageAlphaChannel 함수를 호출하면 알파 채널이 제대로 적용되지 않습니다.
따라서, setImageAlphaChannel 함수를 호출하기 전에 setImageCompose 함수를 호출하지 말고, setImageAlphaChannel 함수를 호출한 후 compositeImage 함수를 호출해야 합니다.
수정된 코드는 다음과 같습니다.
#hostingforum.kr
php
$image1 = new Imagick('image1.png');
$image2 = new Imagick('image2.png');
$image1->setImageAlphaChannel(Imagick::ALPHACHANNEL_SET);
$image1->compositeImage($image2, Imagick::COMPOSITE_OVER, 0, 0);
$image1->writeImage('output.png');
이 코드를 사용하면 알파 채널이 제대로 적용됩니다.
2025-08-03 21:24