PHP调整图像大小以适应特定区域

时间:2014-08-13 12:29:38

标签: php image resize

我有一个存储在变量$image中的图像文件我想要调整此图像的大小,使其适合 380px乘380px 的区域(这意味着最高的图像的一侧必须是380px,另一侧小于380px)。 有没有人建议如何做到这一点?

由于

1 个答案:

答案 0 :(得分:1)

这是我用来保持800x600以下的东西

$orig_image = imagecreatefromjpeg($file['tmp_name']);
list($width,$height) = getimagesize($file['tmp_name']);
if(max($width,$height) > 800){
  $scale = 800/max($width,$height);
  $new_width = floor($width*$scale);
  $new_height = floor($height*$scale);
  $save_image = imagecreatetruecolor($new_width,$new_height);
  imagecopyresampled($save_image,$orig_image,0,0,0,0,$new_width,$new_height,$width,$height);
  imagejpeg($save_image,self::$FILE_DIRECTORY."$year_month/$fileId.jpg");
  $orig_image = $save_image;
  $width = $new_width;
  $height = $new_height;
}

希望你可以推断出一个解决方案..也不是我的$ file变量来自$ _FILE数组中的上传文件。