영역 자르기 이미지
1641 단어 구획
/**
*
* @param $imgInfo array
* ini_set("memory_limit","20 M");
*/
public static function cutImgByArea($srcImage,$oldWidth,$oldHeight,$imgInfo,$newImgName){
//
if ($oldWidth > $imgInfo['newWidth'] || $oldHeight > $imgInfo['newHeight']) {
//
if($imgInfo['areaWidth']>0){
$rate = $oldWidth / $imgInfo['areaWidth'];
$imgInfo['newWidth'] = $imgInfo['newWidth']*$rate;
$imgInfo['newHeight'] = $imgInfo['newHeight']*$rate;
$imgInfo['x'] = $imgInfo['x']*$rate;
$imgInfo['y'] = $imgInfo['y']*$rate;
}
//
$thumb = imagecreatetruecolor($imgInfo['newWidth'], $imgInfo['newHeight']);
//
@imagecopyresampled($thumb, $srcImage, -$imgInfo['x'], -$imgInfo['y'], 0, 0, $oldWidth, $oldHeight, $oldWidth, $oldHeight);
if (!imagejpeg($thumb, $newImgName, 100)) {
$flag = 0;
} else {
$flag = 1;
}
} else if ($oldWidth == $newWidth || $oldHeight == $newHeight) {
$flag = 2;
} else {
$flag = 3;
}
return $flag;
}
자세한 내용은 첨부 파일