如何解决在PHP中调整和保存jpg,png和gif的大小
我在这里找到了伊恩·阿特金(Ian Atkin)的解决方案-Resize image in PHP-并试图对其进行修改以容纳png和gif,并保存调整大小后的图像。 Jpg可以工作,但是我得到的是png和gif的黑色图像(大小正确)。我不知道我在做什么错。这是代码:
function resize_image($file,$w,$h,$crop=FALSE) {
list($width,$height) = getimagesize($file);
$r = $width / $height;
if ($crop) {
if ($width > $height) {
$width = ceil($width-($width*abs($r-$w/$h)));
} else {
$height = ceil($height-($height*abs($r-$w/$h)));
}
$newwidth = $w;
$newheight = $h;
} else {
if ($w/$h > $r) {
$newwidth = $h*$r;
$newheight = $h;
} else {
$newheight = $w/$r;
$newwidth = $w;
}
}
if($extension=="gif") {
$src = imagecreatefromgif($file);
} elseif($extension=="png") {
$src = imagecreatefrompng($file);
} else {
$src = imagecreatefromjpeg($file);
}
$dst = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($dst,$src,$newwidth,$newheight,$width,$height);
if($extension=="gif") {
imagegif($dst,$file);
} elseif($extension=="png") {
imagepng($dst,$file);
} else {
imagejpeg($dst,$file);
}
return $dst;
}
非常感谢您!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。