
ImagickKernel::getMatrix를 사용하여 이미지 필터를 적용하는 방법은 다음과 같습니다.
1. ImagickKernel 클래스의 인스턴스를 생성합니다.
2. 필터를 적용할 이미지의 크기와 필터의 크기를 알립니다.
3. 필터의 크기만큼 2차원 배열을 생성합니다. 예를 들어, 3x3 필터의 경우 3x3 배열을 생성합니다.
4. 필터의 요소를 배열에 할당합니다. 예를 들어, blur 필터의 경우 중앙 요소가 1, 주변 요소가 1/9, 나머지 요소가 0입니다.
5. getMatrix 메소드를 호출하여 필터를 생성합니다. 반환값은 ImagickKernelMatrix 객체입니다.
6. 필터를 적용할 이미지의 인스턴스를 생성합니다.
7. 이미지에 필터를 적용합니다. 예를 들어, blur 필터를 적용하려면 setImageFilter 메소드를 호출하여 필터를 설정한 후 applyImage 메소드를 호출합니다.
getMatrix 메소드의 반환값은 ImagickKernelMatrix 객체입니다. 이 객체는 필터의 요소를 포함하는 2차원 배열을 나타냅니다.
blur 필터를 적용하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$imagick = new Imagick('input.png');
$kernel = new ImagickKernel();
$matrix = array(
array(1/9, 1/9, 1/9),
array(1/9, 1, 1/9),
array(1/9, 1/9, 1/9)
);
$kernel->getMatrix($matrix);
$imagick->setImageFilter($kernel);
$imagick->applyImage();
$imagick->writeImage('output.png');
이 코드는 blur 필터를 적용하여 input.png 이미지를 output.png로 저장합니다.
2025-05-10 02:05