图片缩放

本文介绍了一段PHP代码,用于实现图片的自动缩放功能,并可根据指定的最大宽度和高度进行调整。此外,还展示了如何为图片添加水印。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


//缩放图片
function resizeImage($im, $maxwidth, $maxheight, $name, $filetype)
{
$pic_width = imagesx($im);
$pic_height = imagesy($im);

if (($maxwidth && $pic_width > $maxwidth) || ($maxheight && $pic_height > $maxheight)) {
if ($maxwidth && $pic_width > $maxwidth) {
$widthratio = $maxwidth / $pic_width;
$resizewidth_tag = true;
}

if ($maxheight && $pic_height > $maxheight) {
$heightratio = $maxheight / $pic_height;
$resizeheight_tag = true;
}

if ($resizewidth_tag && $resizeheight_tag) {
if ($widthratio < $heightratio)
$ratio = $widthratio;
else
$ratio = $heightratio;
}

if ($resizewidth_tag && !$resizeheight_tag)
$ratio = $widthratio;
if ($resizeheight_tag && !$resizewidth_tag)
$ratio = $heightratio;

$newwidth = $pic_width * $ratio;
$newheight = $pic_height * $ratio;

if (function_exists("imagecopyresampled")) {
$newim = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $pic_width, $pic_height);
} else {
$newim = imagecreate($newwidth, $newheight);
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $pic_width, $pic_height);
}

$name = $name . $filetype;
imagejpeg($newim, $name);
imagedestroy($newim);
} else {
$name = $name . $filetype;
imagejpeg($im, $name);
}
}



用法如下
$img=imagecreatefromjpeg('./uploads/1.jpg');

//生成缩放图片的名字
$imgname = md5(time());
resizeImage($im, 560, 996, $imgname, '.jpg');
$logo = imagecreatefromjpeg('./' . $imgname . '.jpg');
ImageCopy($img, $logo, 40, 40, 0, 0, 560, 560);
 

转载于:https://www.cnblogs.com/xuehouxt/p/6039913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值