라이브러리

[PHP] Imagick::compositeImage - 하나의 이미지를 다른 이미지에 합성




Imagick::compositeImage

Imagick::compositeImage는 PHP에서 Imagick 클래스의 메소드로, 두 개의 이미지 사이의 합성(Composite) 작업을 수행합니다. 합성은 두 개의 이미지의 특정 부분을 하나의 이미지로 결합하는 것을 의미합니다.

사용법


Imagick::compositeImage 메소드는 다음과 같은 형태로 호출됩니다.

#hostingforum.kr
php

Imagick::compositeImage($image, $compositeOp, $x, $y)



- `$image`: 합성할 이미지의 객체입니다.
- `$compositeOp`: 합성할 때 사용할 연산입니다. (예: Imagick::COMPOSITE_ATOP, Imagick::COMPOSITE_OVER 등)
- `$x` 및 `$y`: 합성할 이미지의 위치입니다.

예제


다음 예제는 두 개의 이미지 사이의 합성을 보여줍니다.

#hostingforum.kr
php

// 이미지 객체를 생성합니다.

$image1 = new Imagick('image1.png');

$image2 = new Imagick('image2.png');



// 합성할 때 사용할 연산을 설정합니다.

$compositeOp = Imagick::COMPOSITE_ATOP;



// 합성할 이미지의 위치를 설정합니다.

$x = 10;

$y = 20;



// 합성합니다.

$image1->compositeImage($image2, $compositeOp, $x, $y);



// 결과 이미지를 저장합니다.

$image1->writeImage('result.png');



이 예제에서는 두 개의 이미지 (`image1.png`과 `image2.png`) 사이의 합성을 ATOP 연산을 사용하여 수행합니다. 합성된 결과 이미지는 `result.png` 파일로 저장됩니다.

사용 가능한 연산


Imagick::compositeImage 메소드에서 사용할 수 있는 연산은 다음과 같습니다.

- `Imagick::COMPOSITE_ATOP`: 위 이미지에 아래 이미지의 부분을 합성합니다.
- `Imagick::COMPOSITE_BLEND`: 위 이미지에 아래 이미지의 부분을 합성합니다. (투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_COPY`: 위 이미지에 아래 이미지의 부분을 복사합니다.
- `Imagick::COMPOSITE_COPY_RED`: 위 이미지에 아래 이미지의 부분을 복사합니다. (빨간색만 복사합니다.)
- `Imagick::COMPOSITE_COPY_GREEN`: 위 이미지에 아래 이미지의 부분을 복사합니다. (녹색만 복사합니다.)
- `Imagick::COMPOSITE_COPY_BLUE`: 위 이미지에 아래 이미지의 부분을 복사합니다. (파란색만 복사합니다.)
- `Imagick::COMPOSITE_COPY_ALPHA`: 위 이미지에 아래 이미지의 부분을 복사합니다. (투명도만 복사합니다.)
- `Imagick::COMPOSITE_COPY_BLACK`: 위 이미지에 아래 이미지의 부분을 복사합니다. (검은색만 복사합니다.)
- `Imagick::COMPOSITE_COPY_WHITE`: 위 이미지에 아래 이미지의 부분을 복사합니다. (흰색만 복사합니다.)
- `Imagick::COMPOSITE_DIFFERENCE`: 위 이미지와 아래 이미지의 차이를 계산하여 합성합니다.
- `Imagick::COMPOSITE_DST`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_DST_ATOP`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_DST_IN`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_DST_OUT`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_DST_OVER`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_HSL_HUE`: 위 이미지와 아래 이미지의 색상 차이를 계산하여 합성합니다.
- `Imagick::COMPOSITE_HSL_SATURATION`: 위 이미지와 아래 이미지의 채도 차이를 계산하여 합성합니다.
- `Imagick::COMPOSITE_HSL_COLOR`: 위 이미지와 아래 이미지의 색상 차이를 계산하여 합성합니다.
- `Imagick::COMPOSITE_IN`: 위 이미지와 아래 이미지의 교집합을 계산하여 합성합니다.
- `Imagick::COMPOSITE_INVERT`: 위 이미지와 아래 이미지의 반전을 계산하여 합성합니다.
- `Imagick::COMPOSITE_OUT`: 위 이미지와 아래 이미지의 차집합을 계산하여 합성합니다.
- `Imagick::COMPOSITE_OVER`: 위 이미지에 아래 이미지의 부분을 합성합니다.
- `Imagick::COMPOSITE_OVERLAY`: 위 이미지에 아래 이미지의 부분을 합성합니다. (투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_PLUS`: 위 이미지와 아래 이미지의 합을 계산하여 합성합니다.
- `Imagick::COMPOSITE_SATURATE`: 위 이미지와 아래 이미지의 채도 차이를 계산하여 합성합니다.
- `Imagick::COMPOSITE_SCREEN`: 위 이미지와 아래 이미지의 차이를 계산하여 합성합니다.
- `Imagick::COMPOSITE_SOFTLIGHT`: 위 이미지와 아래 이미지의 조명 차이를 계산하여 합성합니다.
- `Imagick::COMPOSITE_SOURCE`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_SOURCE_ATOP`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_SOURCE_IN`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_SOURCE_OUT`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_SOURCE_OVER`: 위 이미지에 아래 이미지의 부분을 합성합니다. (위 이미지의 투명도에 따라 합성합니다.)
- `Imagick::COMPOSITE_XOR`: 위 이미지와 아래 이미지의 차이를 계산하여 합성합니다.

이러한 연산을 사용하여 다양한 합성 효과를 얻을 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색