-
-
함수 CreateImage($SrcImageUrl, $DirImageUrl, $Width, $Height)
- {
- $img;
- $srcw;
- $new_width;
- $srch;
- $new_height;
- // 구조 유형
- $type = substr(strrchr($SrcImageUrl, "."), 1);
- // 내부 포트
- if($type == "jpg")
- $img = imagecreatefromjpeg($SrcImageUrl);
- if($type == "gif")
- $img = imagecreatefromgif($SrcImageUrl);
- if($type == "png")
- $img = imagecreatefrompng($SrcImageUrl); srch = 이미지 ( $ img )
- {
- $new_width = $Width;
- $new_height=$srch*($Width/$srcw); srcw ;
- $new_height = $srch;
- }
- }
- else
- {
- if ($srch > $Height)
- {
- $new_height = $ 높이
- $new_width = $srcw *($Height / $srch) 🎜>}
- }
$new_image = imagecreatetruecolor($new_width, $new_height); $ new_width , $ new_height , $ srcw , $ srch );
- }
-
-
-
- 소개
-
-
3. 개선된 코드:
-
-
- /*
*$o_photo 원본 이미지 경로
*$d_photo 처리된 이미지 경로
*$width 너비 정의
*$height 정의 높음
*호출 방법 cutphoto("test.jpg","temp.jpg",256,146);
-
* / ;
function cutphoto($o_photo,$d_photo,$width,$height){
$temp_img = imagecreatefromjpeg($o_photo)
$o_width = Imagesx($temp_img); //원본 이미지 너비 가져오기
$o_height = Imagesy($temp_img); ;/p>
//판정 처리 방법
if($width>$o_width || $height>$o_height){/ /폭 또는 높이 원본 이미지가 지정된 크기보다 작으며 압축됩니다
$newwidth=$o_width;
$newheight=$o_height p>
if($o_width>$width){
$newwidth=$width;
}
if($newheight>$height){
$newwidth=$newwidth*$height/$newheight;
$newheight=$height;
//썸네일 이미지
$new_img = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($new_img, $temp_img, 0, 0, 0, 0, $newwidth, $newheight, $o_width, $o_height);
imagejpeg($new_img , $d_photo);
imagedestroy($new_img);
}else{//원본 이미지의 너비와 높이가 지정된 크기보다 큽니다. 압축 후 자르기
if($o_height*$width/$o_width>$height){//높이가 너비보다 큰 경우 먼저 너비가 지정된 것과 같은지 확인하세요. 지정한 후 확인< /p>
$newwidth=$width;
$newheight=$o_height*$width/$o_width;
$x=0;
$y=($newheight-$height)/2;
} else{ //그렇지 않으면 높이가 지정된 것과 동일하도록 결정합니다. 너비는 적응형
$newwidth=$o_width*$height/$o_height;
- < p>$newheight=$height ;
$x=($newwidth-$width)/2;
$y=0;
}
//썸네일 이미지
$new_img = imagecreatetruecolor($newwidth, $newheight ); p>
imagecopyresampled($new_img, $temp_img, 0, 0, 0, 0, $newwidth, $newheight, $o_width, $o_height);
imagejpeg($new_img , $d_photo);
imagedestroy($new_img);
$temp_img = imagecreatefromjpeg($ d_photo);< /p>
$o_width = Imagesx($temp_img); //썸네일 너비 가져오기
$o_height = Imagesy($temp_img); //썸네일 너비 가져오기 썸네일 높이
//이미지 자르기
$new_imgx = imagecreatetruecolor($width,$height);
-
imagecopyresampled($new_imgx,$temp_img,0,0,$x,$y,$width,$height,$width,$height);
imagedestroy($new_imgx);
- }
- }
- ?>
-
코드 복사
|