PHP & Others

GD 썸네일 생성을 위한 함수정리

페이지 정보

본문

간단한 함수의 정리.. 썸네일을 만들때 사용되는 간단한 함수들입니다. 여기저기서 모아둔걸 정리했습니다. ^^

------------------------------------------------------
getImageSize
기능 : 해당하는 그림파일로부터 사이즈, 파일종류등의 정보를 얻어옵니다.
구문 : int getImageSize(string filename)
주어진 파일로부터 이미지의 정보를 리턴합니다.
예) $size=getImageSize(file_name);
$size[0] : 이미지의 너비
$size[1] : 이미지의 높이
$size[2] : 이미지의 종류
        (1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order, 9 = JPC, 10 = JP2, 11 = JPX)
$size[3] : height="___" width="___" 라는 문자열 리턴
------------------------------------------------------
ImageCreateFromGif / ImageCreateFromJPEG / ImageCreateFromPNG / ImageCreateFromWBMP
기능 : 파일 또는 URL로부터 새로운 이미지를 만듭니다.(create a new image from file or URL)
구문 : int imagecreatefromgif(string filename)
주어진 파일명으로부터 얻은 이미지의 image identifier를 리턴합니다.
실패할 경우 빈 문자열을 리턴하며, error message를 출력하며 브라우저상으로 잘못된 링크를 표시합니다.
------------------------------------------------------
ImageCreate
기능 : 새로운 이미지를 만듭니다.(create a new image)
구문 : int imagecreate(int x_size, int y_size)
x_size와 y_size 크기의 빈 이미지를 생성하여 image identifier를 리턴합니다. 다른 이미지 함수들이 이용할 타겟 이미지를 만듭니다.
------------------------------------------------------
ImageCreateTruecolor
기능 : ImageCreate와 같은 기능을 합니다. 대부분의 GIF 을 제외한 파일에서 사용되며 더 나은 퀄리티를 제공합니다.
------------------------------------------------------
ImageCopyResized(resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH);
기능 : 원본이미지로부터 타겟이미지로 이미지를 복사합니다. 이때 사이즈나 위치를 지정해 줍니다. 썸네일 생성의 핵심이 되는 구문입니다.
src_im = 원본이미지를 가리키는 식별자
dst_im = 원본이미지를 복사할대상 이미지를 가리키는 식별자
srcX, srcY = 복사하고자하는 원본 이미지 영역의 상단좌측의좌표를 가리키는 식별자
srcW, srcH = 그좌표로 부터 복사할 부분의 가로,세로크기를 결정하는 인자
dstX, dstY, dstW, dstH 원본이미지로부터 가져온 이미지를 대상이미지에 복사할때 그위치및 복사할 가로세로크기를 지정하는 인자
------------------------------------------------------
ImageCopyResampled(resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH);
기능 : ImageCopyResized와 같은 기능을 하지만 더 나은 퀄리티를 제공합니다. 패치 안된 GD버젼에서는 원하는 위치를 복사하는 기능이 제대로 작동하지 않을수 있습니다.
------------------------------------------------------
ImageSX
기능 : 이미지의 width를 구합니다.(get image width)
구문 : int imagesx(int im)
------------------------------------------------------
ImageSY
기능 : 이미지의 height를 구합니다.(get image height)
구문 : int imagesy(int im)
ImageSX와 ImageSY는 getImagesize와 같은 기능을 합니다.
------------------------------------------------------
ImageGif
기능 : 브라우저 또는 파일로 이미지를 출력합니다.(output image to browser or file)
구문 : int imagegif(int im, string filename)
imagecreate()함수의 리턴값으로 넘겨받은 im으로 표현되는 GIF 이미지를 생성합니다. filename이 주어지면 그 이름으로 생성이 됩니다.
이미지 format은 imagecolortransparent() 함수로 투명값을 지정하였으면 GIF89a 형식으로, 그렇지 않으면 GIF87a 형식이 됩니다.
filename을 지정해 주지 않고 header() 를 사용하여 해더정보에 image/gif content-type을 보내고, PHP 스크립트를 사용하여 화면으로 직접 출력할 수 있습니다.
------------------------------------------------------
ImageJPEG/ImagePNG
기능 : ImageGIF와 같은 기능으로 생성한 이미지를 JPEG/PNG 파일로 출력합니다.
------------------------------------------------------
ImageDestroy
기능 : 지정된 변수에 저장되어 있는 이미지를 메모리 상에서 제거합니다. 변수의 초기화와 같은 기능으로 파일을 삭제하는게 아니라 변수에 저장되어 있는 이미지를 메모리에서 삭제합니다.
------------------------------------------------------
unlink
기능 : 지정된 파일을 삭제합니다.
------------------------------------------------------

관련자료

등록된 댓글이 없습니다.
Today's proverb
행복해지고 싶다면, 잠시 동안만이라도 가슴에 손을 얹고 생각해 보라. 그러면 진정한 즐거움은, 발치에 돋아나는 잡초나 아침 햇살에 빛나는 꽃의 이술과 같이 우리 주변에 무수히 널려 있다는 것을 알 수 있을 것이다. 《하루 5분 생각이 인생을 결정한다 》 (이범준)