라이브러리
[PHP] Gmagick::compositeimage - 하나의 이미지를 다른 이미지에 합성
Gmagick::compositeimage()
Gmagick::compositeimage()는 Gmagick 객체에 있는 두 개의 이미지에 대한 합성 연산을 수행합니다. 이 메서드는 두 개의 이미지에 대한 다양한 합성 연산을 지원하며, 사용자 지정 합성 연산을 수행할 수도 있습니다.
사용 가능한 합성 연산
Gmagick::compositeimage()는 다음과 같은 합성 연산을 지원합니다.
- `Gmagick::COMPOSITE_ADD` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 더합니다.
- `Gmagick::COMPOSITE_SUBTRACT` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 뺍니다.
- `Gmagick::COMPOSITE_DIFFERENCE` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 차이로 계산합니다.
- `Gmagick::COMPOSITE_MULTIPLY` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 곱합니다.
- `Gmagick::COMPOSITE_SCREEN` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 차이로 계산하고, 결과를 255로 나눕니다.
- `Gmagick::COMPOSITE_OVERLAY` : 두 이미지에 대한 합성 연산을 수행하며, 첫 번째 이미지의 픽셀 값을 두 번째 이미지의 픽셀 값으로 대체합니다.
- `Gmagick::COMPOSITE_OVER` : 두 이미지에 대한 합성 연산을 수행하며, 첫 번째 이미지의 픽셀 값을 두 번째 이미지의 픽셀 값으로 대체하고, 두 번째 이미지의 투명도 값을 첫 번째 이미지의 투명도 값으로 대체합니다.
- `Gmagick::COMPOSITE_ATOP` : 두 이미지에 대한 합성 연산을 수행하며, 첫 번째 이미지의 픽셀 값을 두 번째 이미지의 픽셀 값으로 대체하고, 두 번째 이미지의 투명도 값을 첫 번째 이미지의 투명도 값으로 대체합니다.
- `Gmagick::COMPOSITE_IN` : 두 이미지에 대한 합성 연산을 수행하며, 두 번째 이미지의 투명도 값을 첫 번째 이미지의 투명도 값으로 대체합니다.
- `Gmagick::COMPOSITE_OUT` : 두 이미지에 대한 합성 연산을 수행하며, 두 번째 이미지의 투명도 값을 첫 번째 이미지의 투명도 값으로 대체하고, 두 번째 이미지의 픽셀 값을 첫 번째 이미지의 픽셀 값으로 대체합니다.
- `Gmagick::COMPOSITE_XOR` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 XOR 연산을 수행합니다.
- `Gmagick::COMPOSITE_PLUS` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 더합니다.
- `Gmagick::COMPOSITE_MINUS` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 뺍니다.
- `Gmagick::COMPOSITE_MINUS_REVERSE` : 두 이미지에 대한 합성 연산을 수행하며, 두 이미지의 픽셀 값을 역순으로 뺍니다.
예제
다음 예제는 `Gmagick::compositeimage()` 메서드를 사용하여 두 이미지에 대한 합성 연산을 수행합니다.
#hostingforum.kr
php
// Gmagick 객체를 생성합니다.
$gmagick = new Gmagick('image1.png');
$gmagick2 = new Gmagick('image2.png');
// 두 이미지에 대한 합성 연산을 수행합니다.
$gmagick->compositeimage($gmagick2, Gmagick::COMPOSITE_OVERLAY, 0, 0);
// 합성된 이미지를 저장합니다.
$gmagick->write('result.png');
이 예제는 `image1.png`와 `image2.png` 두 이미지를 합성하여 `result.png` 파일로 저장합니다. 합성 연산은 `Gmagick::COMPOSITE_OVERLAY`로 설정되어 있으며, 두 번째 이미지의 픽셀 값을 첫 번째 이미지의 픽셀 값으로 대체합니다.
사용자 지정 합성 연산
`Gmagick::compositeimage()` 메서드는 사용자 지정 합성 연산을 수행할 수도 있습니다. 사용자 지정 합성 연산은 `Gmagick::COMPOSITE_DEFAULT`로 설정된 후, `Gmagick::setimagecompositeoperation()` 메서드를 사용하여 설정할 수 있습니다.
#hostingforum.kr
php
// Gmagick 객체를 생성합니다.
$gmagick = new Gmagick('image1.png');
$gmagick2 = new Gmagick('image2.png');
// 사용자 지정 합성 연산을 설정합니다.
$gmagick->setimagecompositeoperation(Gmagick::COMPOSITE_DEFAULT);
// 두 이미지에 대한 합성 연산을 수행합니다.
$gmagick->compositeimage($gmagick2, Gmagick::COMPOSITE_OVERLAY, 0, 0);
// 합성된 이미지를 저장합니다.
$gmagick->write('result.png');
이 예제는 사용자 지정 합성 연산을 설정하여 두 이미지에 대한 합성 연산을 수행합니다. 사용자 지정 합성 연산은 `Gmagick::COMPOSITE_OVERLAY`로 설정되어 있으며, 두 번째 이미지의 픽셀 값을 첫 번째 이미지의 픽셀 값으로 대체합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.