
Gmagick::getimagecompose 함수는 이미지 합성을 위한 합성 모드를 지정하는 함수입니다. 이 함수의 값은 이미지 합성을 위한 다양한 모드를 지정할 수 있습니다.
- 0: OVER (상위 이미지 위에 하위 이미지 합성)
- 1: BLENDED (상위 이미지 위에 하위 이미지를 블렌딩하여 합성)
- 2: ATOP (하위 이미지 위에 상위 이미지 합성)
- 3: XOR (상위 이미지와 하위 이미지의 XOR 연산을 통해 합성)
- 4: PLUS (상위 이미지와 하위 이미지의 합성)
- 5: MINUS (상위 이미지에서 하위 이미지의 값을 빼서 합성)
- 6: MODULATE (상위 이미지와 하위 이미지의 값을 모듈러 연산을 통해 합성)
- 7: SCREEN (상위 이미지와 하위 이미지의 값을 스크린 연산을 통해 합성)
- 8: OVERLAY (상위 이미지 위에 하위 이미지의 alpha channel을 합성)
- 9: DODGE (상위 이미지와 하위 이미지의 값을 dodge 연산을 통해 합성)
- 10: HARDLIGHT (상위 이미지와 하위 이미지의 값을 hard light 연산을 통해 합성)
- 11: SOFTLIGHT (상위 이미지와 하위 이미지의 값을 soft light 연산을 통해 합성)
- 12: HSL (상위 이미지와 하위 이미지의 색상, 채도, 명도를 합성)
- 13: COLOR_DODGE (상위 이미지와 하위 이미지의 값을 color dodge 연산을 통해 합성)
- 14: COLOR_BURN (상위 이미지와 하위 이미지의 값을 color burn 연산을 통해 합성)
- 15: DARKEN (상위 이미지와 하위 이미지의 값을 darken 연산을 통해 합성)
- 16: LIGHTEN (상위 이미지와 하위 이미지의 값을 lighten 연산을 통해 합성)
- 17: MULTIPLY (상위 이미지와 하위 이미지의 값을 multiply 연산을 통해 합성)
- 18: DIVIDE (상위 이미지와 하위 이미지의 값을 divide 연산을 통해 합성)
- 19: IN (상위 이미지와 하위 이미지의 값을 in 연산을 통해 합성)
- 20: OUT (상위 이미지와 하위 이미지의 값을 out 연산을 통해 합성)
- 21: ATOP_IN (상위 이미지와 하위 이미지의 값을 atop in 연산을 통해 합성)
- 22: ATOP_OUT (상위 이미지와 하위 이미지의 값을 atop out 연산을 통해 합성)
- 23: DEST_IN (상위 이미지와 하위 이미지의 값을 dest in 연산을 통해 합성)
- 24: DEST_OUT (상위 이미지와 하위 이미지의 값을 dest out 연산을 통해 합성)
- 25: DEST_ATOP (상위 이미지와 하위 이미지의 값을 dest atop 연산을 통해 합성)
- 26: DST (상위 이미지와 하위 이미지의 값을 dst 연산을 통해 합성)
- 27: DST_ATOP (상위 이미지와 하위 이미지의 값을 dst atop 연산을 통해 합성)
- 28: DST_IN (상위 이미지와 하위 이미지의 값을 dst in 연산을 통해 합성)
- 29: DST_OUT (상위 이미지와 하위 이미지의 값을 dst out 연산을 통해 합성)
- 30: IN_DODGE (상위 이미지와 하위 이미지의 값을 in dodge 연산을 통해 합성)
- 31: IN_MULTIPLY (상위 이미지와 하위 이미지의 값을 in multiply 연산을 통해 합성)
- 32: OUT_DODGE (상위 이미지와 하위 이미지의 값을 out dodge 연산을 통해 합성)
- 33: OUT_MULTIPLY (상위 이미지와 하위 이미지의 값을 out multiply 연산을 통해 합성)
- 34: OVERLAY_DARKEN (상위 이미지와 하위 이미지의 값을 overlay darken 연산을 통해 합성)
- 35: OVERLAY_LIGHTEN (상위 이미지와 하위 이미지의 값을 overlay lighten 연산을 통해 합성)
- 36: PLUS_DARKEN (상위 이미지와 하위 이미지의 값을 plus darken 연산을 통해 합성)
- 37: PLUS_LIGHTEN (상위 이미지와 하위 이미지의 값을 plus lighten 연산을 통해 합성)
- 38: SOFT_LIGHT_DODGE (상위 이미지와 하위 이미지의 값을 soft light dodge 연산을 통해 합성)
- 39: SOFT_LIGHT_MULTIPLY (상위 이미지와 하위 이미지의 값을 soft light multiply 연산을 통해 합성)
- 40: SOFT_LIGHT_SCREEN (상위 이미지와 하위 이미지의 값을 soft light screen 연산을 통해 합성)
이러한 값들을 사용하여 이미지 합성을 수행할 수 있습니다.
예를 들어, Gmagick::getimagecompose 함수의 값을 0으로 설정하면, 상위 이미지 위에 하위 이미지가 합성됩니다.
#hostingforum.kr
php
$gm = new Gmagick();
$gm->newImage(200, 200, 'white');
$gm->setImageCompression(Gmagick::COMPRESSION_LZW);
$gm->setImageCompressionQuality(90);
$gm->drawImage(new GmagickDrawing());
$gm->drawRectangle(10, 10, 190, 190);
$gm->compositeImage($gm->cloneImage(), Gmagick::COMPOSITE_OVER, 0, 0);
$gm->setImageFormat('png');
$gm->writeImage('image.png');
이 코드는 white 배경에 red 사각형을 그린 후, 그 위에 같은 사각형을 합성합니다.
2025-04-24 09:39