
Imagick::getPixelRegionIterator 함수를 사용하여 이미지의 특정 영역을 처리할 때, CropBox와 VirtualPixelMethod의 차이점을 이해하는 것이 중요합니다.
CropBox는 이미지의 실제 픽셀을 지정하는 것이 아니라, 이미지의 특정 영역을 지정하는 방법입니다. CropBox는 이미지의 좌표를 지정하여 특정 영역을 지정할 수 있습니다. 예를 들어, (10, 10, 100, 100)으로 지정하면, 이미지의 10픽셀부터 100픽셀까지의 10픽셀부터 100픽셀까지의 영역을 지정할 수 있습니다.
반면에, VirtualPixelMethod은 CropBox를 지정한 영역의 픽셀을 채우는 방법을 지정하는 옵션입니다. VirtualPixelMethod에는 다음과 같은 옵션이 있습니다.
- Imagick::VIRTUALPIXELMETHOD_TRANSPARENT : 지정한 영역의 픽셀을 채우지 않습니다.
- Imagick::VIRTUALPIXELMETHOD_BLACK : 지정한 영역의 픽셀을 검은색으로 채웁니다.
- Imagick::VIRTUALPIXELMETHOD_WHITE : 지정한 영역의 픽셀을 흰색으로 채웁니다.
- Imagick::VIRTUALPIXELMETHOD_CONSTANT : 지정한 영역의 픽셀을 일정한 색상으로 채웁니다.
CropBox를 지정했을 때 VirtualPixelMethod의 옵션을 적용하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$imagick = new Imagick('image.jpg');
$imagick->cropImage(100, 100, 10, 10);
$imagick->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$pixelIterator = $imagick->getPixelRegionIterator(10, 10, 100, 100);
이 예제에서는 CropBox를 지정하여 이미지의 10픽셀부터 100픽셀까지의 10픽셀부터 100픽셀까지의 영역을 지정하고, VirtualPixelMethod의 옵션을 적용하여 지정한 영역의 픽셀을 채우지 않습니다.
2025-03-20 02:15