HTML에서는 이미지의 너비와 높이를 지정하여 이미지의 크기를 임의로 조정할 수 있지만 이 방법으로 이미지의 픽셀 수는 줄어들지 않습니다. 그래픽 파일의 크기는 변경되지 않았으며 확실히 이미지 다운로드 속도가 빨라지지 않습니다. 물론 그래픽 소프트웨어를 통해 이미지의 썸네일을 수동으로 생성할 수도 있지만 이미지 디스플레이 수가 많으면 이 작업량이 엄청날 것입니다. 미니어처 자동 생성 프로그램은 이러한 목적으로 설계되었습니다.
PHP에서 제공하는 imagecopyresize 기능을 사용하면 실제 축약된 이미지를 생성할 수 있습니다. 이 함수의 표준
구문은 다음과 같습니다.
구문: int imagecopyreized(int dst_im, int src_im, int dstX, int dstY,
int srcX, int srcY, int dstW, int dstH, int srcW , int srcH);
반환값: 정수
함수 유형: 그래픽 처리
내용 설명: 이 함수는 새 그림을 복사하고 그림 크기를 조정할 수 있습니다. 매개변수는 모두 목적이 먼저이고 소스가 마지막에 있습니다. dst im 및 src_im 매개변수는 이미지의 핸들입니다. 매개변수 dstX, dstY, srcX, srcY는 각각 대상과 소스의 좌표입니다. 매개변수 dstW, dstH, srcW 및 srcH는 각각 소스와 대상의 너비와 높이입니다. 조정할 새 이미지의 크기는 여기에서 구성됩니다.
다음은 이 함수의 사용법을 보여주는 예입니다. 해당 프로그램인 Thumb.php는 프로그램 목록 12-5에 나와 있습니다.
프로그램 목록 12-5 Thumb.php
코드 복사 코드는 다음과 같습니다.
// 이 함수는 소스 파일에서 이미지를 꺼내서 다음과 같이 설정합니다. 지정된 크기로 복사하여 대상 파일
// 원본 파일 형식: gif, jpg, png
// 대상 파일 형식: gif
// $srcFile: 원본 파일
// $ dstFile: 대상 파일
/ / $dstW: 대상 이미지 너비
// $dstH: 대상 파일 높이
function makethumb($srcFile,$dstFile,$dstW,$dstH)
{
$data = GetImageSize($srcFile ,&$info);
스위치($data[2])
{
사례 1:
$imgsrc = @ImageCreateFromGIF($srcFile)
break;
사례 2:
$imgsrc = @ImageCreateFromJPEG($srcFile);
break;
사례 3:
$imgsrc = @ImageCreateFromPNG($srcFile); ;
}
$srcW = ImageSX($imgsrc);
$srcH = ImageSY($imgsrc)
$ni = ImageCreate($dstW,$dstH); ni,$imgsrc,0,0 ,0,0,$dstW,$dstH,$srcW,$srcH)
Imagegif($ni,$dstFile)
// 브라우저에서 이전 문장을 ImageJpeg( $ni)로 변경하세요.
// 다른 형식의 이미지가 필요한 경우 마지막 문장을 변경하세요.
}
?> 예를 들어, 먼저 getimagesize() 함수를 통해 얻습니다. 소스 이미지의 경우 imagecreatefromgif(),
imagecreatefromjpeg() 또는 imagecreatefrompng()를 사용하여 $imgsrc 소스 비트맵을 생성한 다음
imagecreate를 사용합니다. () 함수를 사용하여 길이와 너비가 소스 비트맵의 절반인 대상 비트맵을 만듭니다. 그런 다음 imagecopyresize()
함수를 호출하여 소스 비트맵을 줄이고 이를 대상 비트맵에 복사한 다음 마지막으로 imagegif() 함수를 사용하여 썸네일을 생성합니다.
여기서 사용되는 그래픽 처리 기능은 설치된 GD 라이브러리에서 제공되며, 지금은 별도로 설명합니다. 먼저
getimagesize() 함수를 소개합니다. 표준 구문은 다음과 같습니다.
구문: array getimagesize(string filename,array [imageinfo]);
반환값: 배열
함수 유형: 그래픽 처리
내용 설명: 이 함수는 3가지 유형의 GIF를 얻는 데 사용할 수 있습니다. JPEG 및 PNG 이 기능을 사용하면 GD 라이브러리를 설치하지 않고도 WWW에서 이미지의 높이와 너비를 설정할 수 있습니다. 반환된 배열에는 4개의 요소가 있습니다. 반환된 배열의 첫 번째 요소(인덱스 값 0)는 그림의 높이(픽셀 단위)이고 두 번째 요소(인덱스 값 1)는 세 번째 요소(인덱스 값 2)입니다. )는 이미지의 파일 형식이고 값 1은 GIF 형식, 2는 JPEG/JPG 형식, 3은 PNG 형식입니다.
네 번째 요소(색인 값 3)는 이미지의 높이 및 너비 문자열입니다. 높이=xxx 너비=yyy.
getimagesize() 함수를 적용하면 이미지에 대한 다양한 정보를 쉽게 얻을 수 있습니다. getimagesize() 함수의 사용법을 더 잘 이해하기 위해 이미지 너비, 높이, 형식 및 파일 크기 정보를 얻는 예를 들어 보겠습니다.
imginfo 프로그램은 프로그램 목록 12-6에 표시됩니다.
프로그램 목록 12-6 imginfo.php
코드 복사 코드는 다음과 같습니다.
function getImageInfo($img) //$img는 절대 경로입니다. 이미지 파일
{
$img_info = getimagesize($img);
switch ($img_info[2])
{
case 1:
$imgtype = "GIF";
중단;
사례 2:
$imgtype = "JPG";
중단;
사례 3:
$imgtype = "PNG"
}
$img_type = $imgtype."Image";
$img_size = ceil(filesize($img)/1000)."k"; //파일 크기 가져오기
$new_img_info = 배열(
"너비 "=>$img_info[0],
"높이"=>$img_info[1],
"type"=>$img_type,
"size"=>$img_size
)
print " width";
print $img_info[0]; ;
$img_info[1] 인쇄
$img_type 인쇄
$img_size 인쇄
}
$img = "/www/htdocs/images/jf.gif";
getImageInfo($img)
?> 프로그램 12-5에서 썸네일을 생성하려면 먼저 그림을 그릴 수 있는 빈 캔버스를 생성해야 합니다.
ImageCreate 함수가 이를 수행할 수 있습니다. 이는 이미지에 대한 식별자를 반환하며 캔버스의 크기(픽셀 단위)
(x(너비) 대 y(높이))를 함수에 알려야 합니다. 프로그램 12-5에서 사용되는 이미지 생성 함수 imagecreate()
의 표준 구문은 다음과 같습니다.
구문: int imagecreate(int x_size,int y_size)
반환 값: 정수
함수 type :그래픽 처리
내용 설명: 완전히 빈 그래프를 만드는 기능입니다. x_size, y_size 매개변수는 그래픽의 크기이고,
단위는 픽셀입니다.
기존 이미지에서 이미지 파일 코드를 추출하려면 imagecreatefromgif(),
imagecreatefromjpeg() 또는 imagecreatefrompng()를 사용할 수 있습니다. 예를 들어, imagecreatefromgif() 함수는 GIF
형식의 이미지 파일 코드. 표준 구문은 다음과 같습니다.
구문: int imagecreatefromgif(string filename)
반환 값: 정수 >기능 유형: 그래픽 처리
내용 설명: 이 기능은 일반적으로 배경이나 기본 캔버스 샘플로 사용되는 GIF 형식의 그래픽을 꺼내는 데 사용됩니다
. 매개변수 파일 이름은 로컬 파일이거나 네트워크 URL 주소일 수 있습니다. 반환값은 GIF 파일
코드로, 다른 함수에서도 사용할 수 있습니다.
소스 비트맵을 축소하여 대상 비트맵에 복사할 때 imagecopyreized() 함수가 사용됩니다.
새 이미지를 복사하고 크기를 조정할 수 있습니다.
구문: int imagecopyreised (int dst_im,int src_im,int dstX,int dstY,int srcX,int srcY,
int dstW,int dstH,int srcW,int srcH)
반환 값: 정수
함수 유형: 그래픽 처리
내용 설명: 새 이미지를 복사하고 이미지 크기를 조정할 수 있는 기능입니다. 매개변수의 경우 목적이 먼저 오고 소스가 마지막에 옵니다. ddst_im 및 src_im 매개변수는 이미지의 핸들입니다. 매개변수 dstX, dstY, srcX, srcY는 각각 목적지
와 소스의 좌표입니다. 매개변수 dstW, dstH, srcW 및 srcH는 각각 소스와 대상의 너비와 높이입니다.
새 이미지의 크기를 조정하려면 여기에서 구성하세요.
이미지 출력에 사용되는 imagegif() 함수의 표준 구문은 다음과 같습니다.
구문: int imagegif(int im, string [filename])
반환 값: 정수
함수 유형: 그래픽 처리
내용 설명 : GIF 형식의 그래픽을 생성하는 기능입니다. 매개변수 im은 ImageCreate()를 사용하여 생성한
의 이미지 코드입니다. 매개변수 파일 이름은 생략할 수 있습니다. 매개 변수 파일 이름이 없으면
전송하기 전에 이미지를 직접 전송합니다. 이미지를 원활하게 전송하기 위해 Content-type:image/gif 헤더 문자열(헤더)을 브라우저
측으로 보냅니다. GIF89a 형식인 투명한 배경의 GIF 이미지를 사용하려면 먼저
ImageColorTransparent()를 사용하여 투명한 배경을 구성해야 합니다. 이 기능으로 생성된 GIF 이미지는 저작권 문제가 있으므로
의 상업적 이용은 신중히 검토해 보시기 바랍니다.