使用PHP制作等比例缩放图片

/**
 * 等比缩放
 * @param string $src 用来缩放的原图
 * @param int $w 缩放后的宽度
 * @param string $dir 缩略后的图片保存的目录
 */


function thumbImg($src,$w,$dir='./mypics'){
    //第一步:生成图像资源
    //1)由图片文件生成图像资源(大图)
    $srcInfo=getimagesize($src);
    $srcExt=image_type_to_extension($srcInfo[2],false);
    $srcFun="imagecreatefrom".$srcExt;
    $srcImg=$srcFun($src);
    //创建画布生成图像资源(小图)
    //获取原图的宽高比例
    $scale=imagesx($srcImg)/imagesy($srcImg);
    $h=$w/$scale;
    $desImg=imagecreatetruecolor($w,$h);
    //第二步:操作图像资源
    imagecopyresampled($desImg,$srcImg,0,0,0,0,$w,$h,imagesx($srcImg),imagesy($srcImg)) ;
    //第三步:输出并保存图像资源
    $outFun='image'.$srcExt;
    $outFun($desImg,$dir.'/thumb_'.$w.'_'.basename($src));
    //第四步:销毁图像资源,释放内存
    imagedestroy($desImg);
    imagedestroy($srcImg);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Json____

您的鼓励是我创作的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值