17. 장. PHP에서 이미지 생성과 수정(Creating and manipulating images)

PHP는 단지 HTML출력을 만드는 것만 할 수 있는 것이 아니다. PHP는 GIF image file도 만들 수 있을 있을 뿐아니라, 사용하기에 편리한 GIF image stream까지 만들 수 있다. 이를 위해서 여러분은 PHP를 컴파일 할 때, image 함수를 가지고 있는 GD 라이브러리를 포함하여야 한다. GD와 PHP는 사용하는 이미지 포맷 형태에 따라 다른 라이브러리도 요구한다. GD는 버전 1.6부터 GIF 이미지 지원을 하지 않는다.

예 17-1. PNG creation with PHP

<?php
    Header("Content-type: image/png");
    $string=implode($argv," ");
    $im = imageCreateFromPng("images/button1.png");
    $orange = ImageColorAllocate($im, 220, 210, 60);
    $px = (imagesx($im)-7.5*strlen($string))/2;
    ImageString($im,3,$px,9,$string,$orange);
    ImagePng($im);
    ImageDestroy($im);
?>
위의 예제는 <img src="button.php?text"> 와 같은 tag이 있는 페이지로부터 불려지게 될 것이다. 그러면 위에있는 button.php 스크립트는 "text"라는 문자열을 "images/button1.gif"에 오버레이 시켜 결과 image에 출력한다. 이렇게 하면 버튼에 들어가는 글씨를 매번 손쉽게 바꿔 쓸 수 있고, 또한 매번 이미지 파일을 만들 필요가 없어 효율적이고 간단하다.