라이브러리

[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`로 설정되어 있으며, 두 번째 이미지의 픽셀 값을 첫 번째 이미지의 픽셀 값으로 대체합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 527 페이지

검색

게시물 검색