[PHP] ImageMagick

PHP 2009. 5. 29. 17:22



누군가가 블로그에 남긴 메모 내용...
출처: http://d.hatena.ne.jp/ken39arg/20090520/1242789677





[변환]

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

$width  = $image->getImageWidth();
$height = $image->getImageHeight();
$image->setImageFormat('png');

// 출력 (header 를 지정할 필요가 있을 경우 지정)
// header('Content-Type: image/png');   <- 이런식으로..

echo $image;

// 저장 1
$image->writeImage('hoge.png');

// 저장 2
file_put_contents('hoge.png', $img);






[ImagickPixel]

$pixel = new ImagickPixel();
$pixel = new ImagickPixel(/* setColor의 인수를 사용가능 */);

// 색을 지정하는 여러가지 방법
$pixel->setColor('rgb(255, 0, 0)');                 // RGB
$pixel->setColor('#FF0000');                        // HEX
$pixel->setColor('red');                              // 문자열
$pixel->setColor('cmyk(100, 100, 100, 10)'); // CMYK

// 색반전
list($r, $g, $b [, $alpha]) = $pixel->getColor();

// $pixel을 배경색으로 새로운 이미지 생성
$image->newImage(100, 100, $pixel);






[ImagickDraw]

$draw = new ImagickDraw();

// 렌더링
$image->drawImage($draw);



// path 그리기 시작
$draw->pathStart();

// path 그리기 종료
$draw->pathFinish();



// 색 설정
// 점선
$draw->setStrokeColor($pixel);

// 색칠하기
$draw->setFillColor($pixel);



// 텍스트
$draw->setFontSize(20);
$draw->setFont('aquafont.ttf');
$draw->annotation($x, $y, 'Hello World');



// 포인트 이동
$draw->pathMoveToAbsolute($x, $y); // 절대좌표
$draw->pathMoveToRelative($x, $y);   // 상대좌표



// 직선
$draw->pathLineToAbsolute($x, $y);
$draw->pathLineToRelative($x, $y);




// 2차 베지에 곡선
$draw->pathCurveToQuadraticBezierAbsolute($x1, $y1, $x, $y);
$draw->pathCurveToQuadraticBezierRelative($x1, $y1, $x, $y);



// 제어점을 지정하지 않고 미끄러지는 3차 베지에 곡선
$draw->pathCurveToSmoothAbsolute($x2, $y2, $x, $y);
$draw->pathCurveToSmoothRelative($x2, $y2, $x, $y);

















'PHP' 카테고리의 다른 글

PHP로 HTTP 요청하기  (0) 2009.06.05
PHP 스크립트를 데몬으로 실행하기  (0) 2009.06.04
PHP에서 tif 파일을 jpg 로 변환하기  (0) 2009.05.28
UTF-8 감지함수  (0) 2009.05.15
PHP Application을 가장 빠르게  (0) 2009.05.15
Posted by bloodguy
,