라이브러리

[PHP] ImagickDraw::setClipUnits - 클립 경로 단위의 해석을 설정합니다.




ImagickDraw::setClipUnits

ImagickDraw::setClipUnits은 ImagickDraw 객체의 클립 유닛을 설정하는 메서드입니다. 클립 유닛은 이미지의 클립 영역을 정의하는 단위로, 이미지의 크기에 따라 달라집니다. 클립 유닛은 이미지의 크기에 따라 달라지기 때문에, 클립 영역을 정의할 때는 클립 유닛을 정확하게 설정해야 합니다.

클립 유닛의 종류

ImagickDraw::setClipUnits은 두 가지 클립 유닛을 지원합니다.

- IMAGICK_UNIT_PIXEL: 픽셀 단위로 클립 영역을 정의합니다. 이 유닛은 이미지의 크기에 따라 달라지지 않습니다.
- IMAGICK_UNIT_POINTS: 포인트 단위로 클립 영역을 정의합니다. 포인트는 이미지의 크기에 따라 달라지며, 일반적으로 72 dpi의 이미지에서 1 포인트는 1/72 인치를 의미합니다.

예제

다음 예제는 ImagickDraw::setClipUnits을 사용하여 클립 유닛을 설정하고 클립 영역을 정의하는 방법을 보여줍니다.

#hostingforum.kr
php

<?php

// Imagick 객체 생성

$image = new Imagick('input.jpg');



// ImagickDraw 객체 생성

$draw = new ImagickDraw();



// 클립 유닛을 픽셀 단위로 설정

$draw->setClipUnits(Imagick::IMAGICK_UNIT_PIXEL);



// 클립 영역을 정의

$draw->setClipPath('M 100 100 L 200 100 L 200 200 L 100 200 Z');



// 이미지에 클립 영역을 적용

$image->drawImage($draw);



// 클립 유닛을 포인트 단위로 설정

$draw->setClipUnits(Imagick::IMAGICK_UNIT_POINTS);



// 클립 영역을 정의

$draw->setClipPath('M 72 72 L 144 72 L 144 144 L 72 144 Z');



// 이미지에 클립 영역을 적용

$image->drawImage($draw);



// 이미지 출력

$image->writeImage('output.jpg');

?>



이 예제에서는 ImagickDraw::setClipUnits을 사용하여 클립 유닛을 픽셀 단위로 설정하고 클립 영역을 정의합니다. 그런 다음 클립 유닛을 포인트 단위로 설정하고 클립 영역을 다시 정의합니다. 클립 영역은 이미지의 크기에 따라 달라지기 때문에, 클립 유닛을 정확하게 설정해야 합니다.

결과

이 예제의 결과는 두 개의 클립 영역이 있는 이미지로, 클립 영역의 크기는 이미지의 크기에 따라 달라집니다. 클립 유닛이 픽셀 단위인 경우, 클립 영역의 크기는 이미지의 픽셀 수에 따라 달라집니다. 클립 유닛이 포인트 단위인 경우, 클립 영역의 크기는 이미지의 포인트 수에 따라 달라집니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색