完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
//定义必备参数 $path = "./images"; $picname = "6.jpg"; $maxW = 200; //指定要缩放到的宽度 $maxH = 200; //指定要缩放到的高度 $pre = "s_"; //缩小之后的图像的前缀 // 准备画布、画笔、颜料 //格式化路径 $path = rtrim($path,"/")."/"; //获取图像的详细信息 $info = getimagesize($path.$picname); //根据用户上传的图像,生成相对应类型的画布 switch($info[2]){ case 1: //生成gif格式画布 $oldImg = imagecreatefromgif($path.$picname); break; case 2: //生成jpg格式画布 $oldImg = imagecreatefromjpeg($path.$picname); break; case 3: //生成png格式画布 $oldImg = imagecreatefrompng($path.$picname); break; } //获取原图的宽高 $oldW = imagesx($oldImg); $oldH = imagesy($oldImg); //判断那个边比较长,利用较长的边求得比例 if($oldW>$oldH){ //求得比例 $b = $oldW/$maxW; //获取缩放之后的宽高 $newW = $oldW/$b; $newH = $oldH/$b; }else{ //求得比例 $b = $oldH/$maxH; //获取缩放之后的宽高 $newW = $oldW/$b; $newH = $oldH/$b; } //根据缩放之后的宽高,生成指定大小的画布 $newImg = imagecreatetruecolor($newW,$newH); // 开始绘画 //将原图缩放到新图当中 imagecopyresampled($newImg,$oldImg,0,0,0,0,$newW,$newH,$oldW,$oldH); // 输出图像 //根据用户上传的图像的类型,进行输出或另存为 switch($info[2]){ case 1: imagegif($newImg,$path.$pre.$picname); break; case 2: imagejpeg($newImg,$path.$pre.$picname); break; case 3: imagepng($newImg,$path.$pre.$picname); break; } // 释放资源 imagedestroy($oldImg); imagedestroy($newImg); ?> 如有疑问欢迎讨论 QQ:2326308699 |
|
相关推荐
|
|
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2163 浏览 0 评论
2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
16803 浏览 11 评论
2347 浏览 0 评论
IaaS+on+DPU(IoD)+下一代高性能算力底座技术白皮书
3751 浏览 0 评论
飞凌嵌入式-ELFBOARD 常用的USB接口及其不同版本介绍第1期
1281 浏览 0 评论
69255 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-27 11:55 , Processed in 0.597027 second(s), Total 64, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号