PHP
2014.07.09 16:41

GD 및 이미지 함수 정리

조회 수 12774 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

PHP 함수중에 이미지 처리하는 함수를 알아보겠습니다.

개발중에 이미지 처리하는 부분도 상당히 중요한 것 같습니다.

나름대로 정리를 했는데 잘 되었는지 모르겠습니다.



PHP 이미지 함수 정리(매뉴얼 참조)


resource imagecreate(int $width, int $height) : 인자값으로 받은 사이즈로 빈 이미지를 생성한다.
인자값 : width(가로), height(세로)

int imagecolorallocate( resource $image , int $red , int $green , int $blue ) : 주어진 이미지에 사용될 RGB값을 지정한다.
인자값 : image(imagecreate로 생성된 이미지), red(0~255), green(0~255), blue(0~255)

int imagecolortransparent ( resource $image [, int $color ] ) : 주어진 이미지에 투명 색상을 지정한다.
인자값 : image(imagecreate로 생성된 이미지), color(imagecolorallocate 등의 함수로 생성된 칼라 값)

bool imagefill ( resource $image , int $x , int $y , int $color ) : 주어진 좌표위치부터 주어진 색상으로 주어진 이미지를 채운다.
인자값 : image(imagecreate로 생성된 이미지), x(이미지의 x좌표), y(이미지의 y좌표), color(imagecolorallocate 등의 함수로 생성된 칼라 값)

resource imagecreatefromgif ( string $filename ) : 주어진 gif파일 경로 혹은 URL로부터 새로운 이미지를 생성한다.
인자값 : filename(gif 파일경로 혹은 gif url경로)

bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h ) : 이미지를 복사한다.
인자값 : dst_im(생성하고자 하는 이미지), src_im(카피할 이미지), dst_x(생성하고자 하는 x위치), dst_y(생성하고자 하는 y위치), src_x(카피이미지 x위치), src_y(카피이미지 y위치), src_w(카피이미지 가로길이), src_h(카피이미지 세로길이)

int imageinterlace ( resource $image [, int $interlace = 0 ] ) : 주어진 이미지에 라인, arc등의 삽입여부를 설정한다.
인자값 : image(imagecreate로 생성된 이미지), interlace(삽입여부->0 : 삽입안함, 1 : 삽입)

bool imagejpeg ( resource $image [, string $filename [, int $quality ]] ) : jpeg파일로 저장한다.
인자값 : image(imagecreate로 생성된 이미지), filename(jpeg로 저장될 전체경로, 지정안할시 바로 보여줌), quality(설정안할시 75%정도임)

bool imagedestroy ( resource $image ) : 생성된 이미지 객체를 메모리에서 해제한다.
인자값 : image(imagecreate로 생성된 이미지)



작은 이미지(30X30) 2개를 한개의 이미지로 합치는 예제


<img src="./img_copy.php" width="60" height="60" />    //이미지를 합치는 페이지 설정


//헤더선언
header("Expires: Mon, 26 Jul 1997 05:00:00 /GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: image/jpg");

$img1="./images/img1.gif;                             //30X30이미지(카피하고자 하는 이미지1)
$img2="./images/img2.gif;                             //30X30이미지(카피하고자 하는 이미지2)
$dst_img = ImageCreate(60, 60);                       //두개의 이미지를 카피할 수 있는 영역의 이미지 생성
$gray=ImageColorAllocate($dst_img,234,234,234);       //색상지정
$white=ImageColorAllocate($dst_img,255,255,255);      //색상지정
ImageColorTransparent($dst_img,$white);               //투명색 지정
ImageFill($dst_img, 0, 0, $white);                   
$src_img1 = ImageCreateFromGIF($img1);
$src_img2 = ImageCreateFromGIF($img2);
ImageCopy($dst_img,$src_img1,0,0,0,0,30,30);           //이미지 카피
ImageCopy($dst_img,$src_img2,30,0,0,0,30,30);          //이미지 카피
ImageInterlace($dst_img, 0);
ImageJPEG($dst_img);           //JPG 이미지로 표출됨
ImageDestroy($dst_img);                                //메모리 해제


위와 같은 식으로 구현하면 test.php에서 합쳐진 이미지가 보이게 됩니다.




getImageSize : 주어진 파일로부터 이미지의 정보를 리턴합니다  
ImageCreateFromGif / ImageCreateFromJPEG / ImageCreateFromPNG /ImageCreateFromWBMP : 주어진 파일명으로부터 얻은 이미지의 image identifier를 리턴합니다
ImageCreate : 새로운 이미지를 만듭니다. 
ImageCreateTruecolor : ImageCreate와 같은 기능을 합니다. 
ImageCopyResized : 원본이미지로부터 타겟이미지로 이미지를 복사합니다. 
ImageCopyResampled : ImageCopyResized와 같은 기능을 하지만 더 나은 퀄리티를 제공합니다. 
ImageGif/ImageJPEG/ImagePNG : 브라우저 또는 파일로 이미지를 출력합니다.

ImageDestroy : 지정된 변수에 저장되어 있는 이미지를 메모리 상에서 제거합니다.

 

unlink : 지정된 파일을 삭제합니다.  
ImageSX : 이미지의 width를 구합니다. 
ImageSY : 이미지의 height를 구합니다.


ImageColorAllocate : 색지정  
ImageColorAllocateAlpha : 색지정 
ImageChar : 수평으로 한 문자를 그린다. 


ImageString : 글쓰기 
ImagePolygon : 다각형 그리기  
ImageRectangle : 사각형 그리기  
ImageArc : 원,호 그리기 
ImageFill : 색 칠하기   
Imagefilledrectangle : 내부가 채워진 사각형을 그린다.   
Imagefilledarc : 내부가 채워진 원,호 그린다. 

ImageSetPixel : 점 찍기 

ImageLine : 선 긋기

 

Imagesavealpha :  Full Alpha 옵션을 사용하기 위한 함수다. 
Imagealphablending : 혼합된 모드를 이미지에 맞도록 셋팅한다. 
ImageCopy : 두 이미지를 합성해 반환한다.

 

Imagefontwidth :  폰트 넓이 값 얻는다 
ImagefontHeight : 폰트 높이 값 얻는다 
ImageLoadFont : 새 글꼴을 불러온다 
ImageTTFtext : 트루타입폰트 글씨쓰기  
imagettfbbox() : 트루 타입 폰트를 사용하여 텍스트의 경계 박스에 대한 좌표 값을 얻는다.  
 

 

이미지 작업할 때 Header를 붙여주면 좋다.

PHP 코드로 만든 그림은 브라우저에게 바로 보여줄수도 저장할 수도 있다.

이를 위해서는 웹서버가 웹브라우저에게 그림을 보낼것이라고 알려줘야 한다.

 Header('Content-type: image/png');



Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
236 Android android pm 명령어 정리 2015.06.01 13195 0
235 C++ C++ string 정리 (C++ 문자열) 2017.02.14 13159 0
234 JAVA 텍스트 파일 읽기, 쓰기 2015.10.21 13061 0
233 C# ArrayList를 string[] 배열로 변환하는 방법 2015.09.23 13006 0
232 Android adb shell 에서 sqilte3 사용 하기 2016.03.28 12995 0
231 Android [GIT 사용법] Git Log 활용하기 2012.05.08 12968 0
230 C# 텍스트 파일에서 읽기/쓰기 2013.08.08 12937 0
229 일반 SELECT 문 간단 2012.08.31 12788 0
228 개념 WebP(웹피, weppy) 이미지 포맷 2013.01.09 12787 0
» PHP GD 및 이미지 함수 정리 2014.07.09 12774 0
226 LINUX iptables 명령어 - 방화벽 설정 2016.02.01 12763 0
225 C# C# 배열 array 2014.10.22 12605 0
224 C# 변경된 파일을 감시하는 루틴 2013.10.30 12570 0
223 PHP MySQL 기본 문법 2014.03.01 12548 0
222 Python Lambda 함수, 축약 함수 2014.04.25 12539 0
목록
Board Pagination ‹ Prev 1 ... 14 15 16 17 18 19 20 21 22 23 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5