PHP 等比例缩放图片详解及实例代码


Posted in PHP onSeptember 18, 2016

直接上代码,imgzip($src,$newwid,$newhei)这个函数带进去的分别是原图片、缩放要求的宽度、缩放的长度。代码都备注了,不懂可以留言哈哈

<?php 

//压缩图片 缩略图

$src= "xiezheng.jpg";
$newwid=640;
$newhei= 480;
function imgzip($src,$newwid,$newhei){
 $imgInfo = getimagesize($src);

 $imgType = image_type_to_extension($imgInfo[2], false);

 $fun = "imagecreatefrom{$imgType}";

//声明图片 打开图片 在内存中
 $image = $fun($src);
//方便配置长度宽度、高度,设置框为变量wid,高度为hei
 $wid=$imgInfo[0];
 $hei=$imgInfo[1];
//判断长度和宽度,以方便等比缩放,规格按照500, 320
 if($wid>$hei){
  $wid=$newwid;
  $hei=$newwid/($wid/$hei);
 }else {
  $wid = $newhei * ($wid / $hei);
  $hei = $newhei;
 }

//在内存中建立一张图片
 $images2 = imagecreatetruecolor($newwid, $newhei); //建立一个500*320的图片

//将原图复制到新建图片中
//imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)

 imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[0]);

//销毁原始图片
 imagedestroy($image);


//直接输出图片文件

 header("Content-type: ".$imgInfo[‘mime‘]);
 imagejpeg($images2);

//保存图片 到新文件
 imagejpeg($images2, ‘new.jpg‘, 100); //10代码输出图片的质量 0-100 100质量最高

//销毁
 imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);


?>

 效果

压缩前

PHP 等比例缩放图片详解及实例代码

压缩后

PHP 等比例缩放图片详解及实例代码

以上就是对PHP 等比例缩放图片的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

PHP 相关文章推荐
php中文件上传的安全问题
Oct 09 PHP
PHP IF ELSE简化/三元一次式的使用
Aug 22 PHP
解析PHP缓存函数的使用说明
May 10 PHP
解析htaccess伪静态的规则
Jun 18 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
php绘制圆形的方法
Jan 24 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
利用ajax和PHP实现简单的流程管理
Mar 23 PHP
[原创]php正则删除html代码中class样式属性的方法
May 24 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 PHP
php mysql 封装类实例代码
Sep 18 #PHP
thinkphp自带验证码全面解析
Sep 18 #PHP
php操纵mysqli数据库的实现方法
Sep 18 #PHP
php微信公众账号开发之前五个坑(一)
Sep 18 #PHP
php中实现进程锁与多进程的方法
Sep 18 #PHP
注意!PHP 7中不要做的10件事
Sep 18 #PHP
深入理解PHP类的自动载入机制
Sep 16 #PHP
You might like
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
python元组操作实例解析
2014/09/23 Python
初步理解Python进程的信号通讯
2015/04/09 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
党性锻炼的心得体会
2014/09/03 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python