누군가가 블로그에 남긴 메모 내용...
출처: 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);
$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);
$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);
// 렌더링
$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 |