-
- /**
- * 썸네일 이미지 Linux 이미지 서버
- * bbs.it-home.org 편집
- */
- $picID=$_GET['imgID']
- $picTypes= ".".$_GET['imgType'];
- $picWidth=$_GET['ImgWidth'];
- if($picID!="")
- {
- //요청은 다음과 같습니다. 작은 그림
- if($picWidth>0){
- //작은 그림이 존재하는 경우
- if(file_exists($picID."_".$picWidth.$picTypes))
- {
- outputImg($picID."_".$picWidth.$picTypes);
- }else
- {
- if(file_exists($picID."_0".$picTypes)){
- // 작은 그림이 없으면 직접 작은 그림을 생성하세요
- resizeImg($picID."_0".$picTypes,$picWidth,$picWidth,$picID."_".$picWidth.$picTypes)
- //출력
- outputImg($picID."_".$picWidth.$picTypes);
- }else
- {
- //대형 이미지가 없는 경우
- resizeImg(' noDefaultImage.gif',$picWidth ,$picWidth,noDefaultImage."_".$picWidth.".gif");
- //출력
- outputImg($picID."_".$picWidth.$picTypes) ;
- }
- }
- }
- //큰 이미지에 대한 파일이 존재하는지 확인
- if(file_exists($picID."_0".$picTypes))
- {
- $img_file = $picID."_0 ".$picTypes;
- outputImg($img_file)
- }
- else
- {
- //사진이 존재하지 않는 경우
- $ img_file = 'noDefaultImage.gif';
- outputImg($img_file);
- }
- }
- //이미지 출력
- function outputImg($img_file)
- {
- $fp = fopen($img_file, 'rb');
- $content = fread($fp, filesize($img_file)); //바이너리 데이터
- fclose($fp)
- header('Content- 유형: image/gif');
- echo $content
- }
- /**
- * 썸네일 생성
- * $srcName----원본 이미지 경로입니다.
- * $newWidth, $newHeight----각각 썸네일의 최대 너비와 높이
- * $newName- - --썸네일 파일 이름(경로 포함)
- * @param string $srcName
- * @param int $newWidth
- * @param int $newHeight
- * @param string $newName
- * viod 반환
- */
- function resizeImg($srcName,$newWidth,$newHeight,$newName="" )
- {
- if($ newName=="")
- {
- $nameArr=explode('.',$srcName)
- $expName=array_pop($nameArr); 🎜> $expName=$expName;
- array_push($nameArr,$expName)
- $newName = implode('.',$nameArr)
- }
- $info = ""
- $data = getimagesize($srcName,$ info);
- 스위치($data[2])
- {
- 사례 1:
- if(!function_exists("imagecreatefromgif")){
- echo "귀하의 GD 라이브러리는 GIF 형식의 사진을 사용할 수 없습니다. Jpeg 또는 PNG 형식을 사용하세요! return ";
- exit();
- }
- $im = ImageCreateFromGIF($srcName);
- break;
- 사례 2:
- if(!function_exists("imagecreatefromjpeg")) {
- echo "귀하의 GD 라이브러리는 jpeg 형식의 이미지를 사용할 수 없습니다. 다른 형식의 이미지를 사용하세요!返回";
- exit();
- }
- $im = ImageCreateFromJpeg($srcName);
- break;
- 사례 3:
- $im = ImageCreateFromPNG($srcName);
- 중단;
- }
- $srcW=ImageSX($im);
- $srcH=ImageSY($im)
- $newWidthH=$newWidth/$newHeight; $srcW/$srcH;
- if($newWidthH<=$srcWH){
- $ftoW=$newWidth;
- $ftoH=$ftoW*($srcH/$srcW)
- } 🎜> else{
- $ftoH=$newHeight;
- $ftoW=$ftoH*($srcW/$srcH)
- }
- if($srcW>$newWidth||$srcH>$ newHeight)
- {
- if(function_exists("imagecreatetruecolor"))
- {
- @$ni = ImageCreateTrueColor($ftoW,$ftoH);
- if($ni) ImageCopyResampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
- else
- {
- $ni=ImageCreate($ftoW,$ftoH);
- ImageCopyReised($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
- }
- }
- else
- {
- $ni=ImageCreate($ftoW,$ftoH);
- ImageCopyReised($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
- }
- if(function_exists('imagejpeg')) ImageJpeg($ni,$newName);
- else ImagePNG($ni,$newName);
- ImageDestroy($ni);
- }
- ImageDestroy($im);
- }
- ?>
-
-
제제대码
|