본문 바로가기

Web Progreming/PHP

[ PHP ] ImageCreateTrueColor, ImageCreate

ImageCreateTrueColor(구. imageCreate)

 
기능 : 새로운 이미지를 트루컬러 이미지를 만든다

ImageCreate와 같은 기능을 합니다. 대부분의 GIF 을 제외한 파일에서 사용되며 더 나은 퀄리티를 제공합니다. 

구문 : resource ImageCreateTrueColor(int $width, int $height)

 

ImageCreateTrueColor() 함수는 이미지의 높이와 너비를 인자로 받아서 캔버스를 만든다
GD 라이브러리가 필요하다. PHP에서 새로운 이미지를 생성할 때 처음 선행되어져야 할 작업니다
이미지를 다 쓰고 반환할 때는 ImageDestroy() 함수를 이용해서 리소스를 해제해야 한다.

$im = ImageCreateTrueColor(100, 100);



ImageDestroy($im);

버젼 : PHP 4 >= 4.0.6, PHP 5, GD 2.0.1 
★ 배경색 
<?
$im = @imagecreatetruecolor(401, 401);
$trans_colour = imagecolorallocate($im, 222,255,130);
imagefill($im, 0, 0, $trans_colour);

header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?> 

★ 투명 배경색 (PHP + GD 에서 투명한 PNG 만들기)
<?
$im = @imagecreatetruecolor(401, 401);
imagesavealpha($im, true);
$trans_colour = imagecolorallocatealpha($im, 0, 0, 0, 127);
imagefill($im, 0, 0, $trans_colour);

header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
?>

단, IE 6.0에서는 투명 배경색이 실행되지 않는다!

 

 

ImageCreate


기능 : 새로운 이미지를 만듭니다.(create a new image) 
구문 : int imagecreate(int x_size, int y_size) 
         이미지 구분자 = imagecreate(가로, 세로);  
x_size와 y_size 크기의 빈 이미지를 생성하여 image identifier를 리턴합니다.

다른 이미지 함수들이 이용할 타겟 이미지를 만듭니다. '


예제)
<?
$image = ImageCreate (300, 300); // 사이즈가 300x300인 이미지 생성
?> 
  

배경색 지정
imagecreate()는 이미지의 배경색을 지정하기 위해서 다른 인자를 가지고 있지는 않다.
경우 따라서는 배경색을 명시적으로 알려줄 필요가 없는 경우도 있다.


즉, 아래 경우에는 이미지에 할당된 첫번째 색이 자동적으로 배경색이 된다.

$image = ImageCreate(200,150);
$gray = ImageColorAllocate($image,204,204,204); // 바탕색
$blue = ImageColorAllocate($image,0,0,255);

배경색은 자동적으로 첫번째 할당된 색인 $gray이다