php修改图片尺寸大小

//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));
$src = imagecreatefromstring(file_get_contents($src_path));
$srcc = $this->resize_image($src_path, $src_path, 90, 90);
imagecopymerge($dst, $srcc, 50, 600, 0, 0, 82, 80, 100);

// 重置图片文件大小
public function resize_image($filename, $tmpname, $xmax, $ymax)
{
   $ext = explode(".", $filename);
   $ext = $ext[count($ext)-1];
  
if($ext == "jpg" || $ext == "jpeg")
$im = @imagecreatefromjpeg($tmpname);
elseif($ext == "png")
$im = @imagecreatefrompng($tmpname);
elseif($ext == "gif")
$im = @imagecreatefromgif($tmpname);
 
$x = @imagesx($im);
$y = @imagesy($im);
 
if($x <= $xmax && $y <= $ymax)
return $im;
 
if($x >= $y) {
  $newx = $xmax;
  $newy = $newx * $y / $x;
}
else {
  $newy = $ymax;
  $newx = $x / $y * $newy;
}
 
$im2 = @imagecreatetruecolor($newx, $newy);
imagecopyresized($im2, $im, 0, 0, 0, 0, floor($newx), floor($newy), $x, $y);
return $im2;
}

 

posted @ 2021-08-03 11:31  叫我星宇  阅读(880)  评论(0编辑  收藏  举报