使用PHP调整图像大小,支持PNG,JPG
发布时间:2020-05-25 09:36:46 所属栏目:PHP 来源:互联网
导读:我正在使用这个类: class ImgResizer {function ImgResizer($originalFile = $newName) { $this - originalFile = $originalFile;}function resize($newWidth, $targetFile) { if (empty($newWidth) || empty
|
我正在使用这个类: class ImgResizer {
function ImgResizer($originalFile = '$newName') {
$this -> originalFile = $originalFile;
}
function resize($newWidth,$targetFile) {
if (empty($newWidth) || empty($targetFile)) {
return false;
}
$src = imagecreatefromjpeg($this -> originalFile);
list($width,$height) = getimagesize($this -> originalFile);
$newHeight = ($height / $width) * $newWidth;
$tmp = imagecreatetruecolor($newWidth,$newHeight);
imagecopyresampled($tmp,$src,$newWidth,$newHeight,$width,$height);
if (file_exists($targetFile)) {
unlink($targetFile);
}
imagejpeg($tmp,$targetFile,95);
}
}
哪个工作出色,但是用png失败,它创建一个调整大小的黑色图像. 有没有办法调整这个类来支持png图像? function resize($newWidth,$originalFile) {
$info = getimagesize($originalFile);
$mime = $info['mime'];
switch ($mime) {
case 'image/jpeg':
$image_create_func = 'imagecreatefromjpeg';
$image_save_func = 'imagejpeg';
$new_image_ext = 'jpg';
break;
case 'image/png':
$image_create_func = 'imagecreatefrompng';
$image_save_func = 'imagepng';
$new_image_ext = 'png';
break;
case 'image/gif':
$image_create_func = 'imagecreatefromgif';
$image_save_func = 'imagegif';
$new_image_ext = 'gif';
break;
default:
throw new Exception('Unknown image type.');
}
$img = $image_create_func($originalFile);
list($width,$height) = getimagesize($originalFile);
$newHeight = ($height / $width) * $newWidth;
$tmp = imagecreatetruecolor($newWidth,$img,$height);
if (file_exists($targetFile)) {
unlink($targetFile);
}
$image_save_func($tmp,"$targetFile.$new_image_ext");
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
