php怎么控制缩略图的大小,php生成多尺寸缩略图记录

在进行缩略图生成的时候,图片的大小总是会同时保存好几个尺寸的,那该怎么处理呢?$filename = 'meinv.jpg';

list($src_w,$src_h,$imageTypeNum) = getimagesize($filename);

//获取图片mime类型 image_type_to_mime_type(int imagetype); image/jpeg

$imageTypeMime = image_type_to_mime_type($imageTypeNum);

//拼凑出 imagecreatefromjpeg()

$createFun = str_replace('/','createfrom',$imageTypeMime);

//拼凑出imagejpeg()

$outFun = str_replace('/',null,$imageTypeMime);

//创建图片源

$src_img = $createFun($filename);

//创建缩略图片

$dst_50_image = imagecreatetruecolor(50,50);

$dst_220_image = imagecreatetruecolor(220,220);

$dst_350_image = imagecreatetruecolor(350,350);

$dst_800_image = imagecreatetruecolor(800,800);

//生成缩略图

imagecopyresampled($dst_50_image,$src_img,0, 0, 0, 0, 50,50,$src_w,$src_h);

imagecopyresampled($dst_220_image,$src_img,0, 0, 0, 0, 220,220,$src_w,$src_h);

imagecopyresampled($dst_350_image,$src_img,0, 0, 0, 0, 350,350,$src_w,$src_h);

imagecopyresampled($dst_800_image,$src_img,0, 0, 0, 0, 800,800,$src_w,$src_h);

//输出缩略图

$outFun($dst_50_image,'./images_50/'.'50_'.$filename);

$outFun($dst_220_image,'./images_220/'.'220_'.$filename);

$outFun($dst_350_image,'./images_350/'.'350_'.$filename);

$outFun($dst_800_image,'./images_800/'.'800_'.$filename);

//销毁图片

imagedestroy($src_img);

imagedestroy($dst_50_image);

imagedestroy($dst_220_image);

imagedestroy($dst_350_image);

imagedestroy($dst_800_image);

效果如下:

7533

上述的code的核心,就是通过图片mime类型拼凑出 imagecreatefromjpeg() 、imagecreatefrompng()、imagejpeg() 、imagepng() 等函数调用… ~~!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值