
Gmagick::setimagecompose 함수는 두 개의 이미지 또는 이미지와 그라데이션을 합성할 때 사용됩니다. 이 함수의 두 번째 인자인 'compose'는 합성 방법을 지정하는 데 사용됩니다.
'Over' 값은 두 번째 이미지의 픽셀을 첫 번째 이미지의 픽셀 위에 그려내는 것을 의미합니다. 이 경우 두 번째 이미지의 픽셀이 첫 번째 이미지의 픽셀을 덮어버리기 때문에 겹쳐지지 않는 현상이 발생합니다.
올바르게 이미지를 합성하기 위해서는 'Over' 값 대신 'Copy' 또는 'CopyWithoutInking' 값을 사용할 수 있습니다. 'Copy' 값은 첫 번째 이미지의 픽셀을 그대로 복사하여 두 번째 이미지 위에 그려내고, 'CopyWithoutInking' 값은 첫 번째 이미지의 픽셀을 복사하여 두 번째 이미지 위에 그려내되, 첫 번째 이미지의 투명 영역은 두 번째 이미지의 투명 영역으로 유지됩니다.
또한, Gmagick::setimagecompose 함수의 첫 번째 인자인 'image'는 합성할 이미지 객체를 지정해야 합니다. 이 객체는 Gmagick::readimage 함수를 사용하여 읽어온 이미지 객체여야 합니다.
예를 들어, 다음 코드는 두 개의 이미지 객체를 읽어와 합성하는 방법을 보여줍니다.
#hostingforum.kr
php
$image1 = new Gmagick('image1.jpg');
$image2 = new Gmagick('image2.jpg');
$image1->setimagecompose(Gmagick::COMPOSITE_COPY);
$image1->compositeimage($image2, Gmagick::COMPOSITE_COPY, 0, 0);
$image1->write('result.jpg');
이 코드는 'image1.jpg'와 'image2.jpg' 두 개의 이미지 객체를 읽어와 합성한 후 결과를 'result.jpg' 파일로 저장합니다.
2025-05-23 19:29