如何使用php等比例缩放图片


Posted in PHP onOctober 12, 2016

本文介绍了PHP实现图片压缩方法,读者可以根据具体应用参考或加以改进,直接上代码,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[1]);
//销毁原始图片
 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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
无限级别菜单的实现
Oct 09 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
php中函数前加&amp;符号的作用分解
Jul 08 PHP
php递归创建目录的方法
Feb 02 PHP
PHP检测用户语言的方法
Jun 15 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
Jul 01 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 #PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 #PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 #PHP
基于php实现的php代码加密解密类完整实例
Oct 12 #PHP
php fseek函数读取大文件两种方法
Oct 12 #PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 #PHP
php 无限分类 树形数据格式化代码
Oct 11 #PHP
You might like
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
php截取字符串函数分享
2015/02/02 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
php事件驱动化设计详解
2016/11/10 PHP
别了 JavaScript中的isXX系列
2012/08/01 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
layui分页效果实现代码
2017/05/19 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
python计算牛顿迭代多项式实例分析
2015/05/07 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
python爬虫中多线程的使用详解
2019/09/23 Python
python hashlib加密实现代码
2019/10/17 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
python如何进行矩阵运算
2020/06/05 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
设计毕业生简历中的自我评价
2013/10/01 职场文书
工作人员思想汇报
2014/01/09 职场文书
运动会广播稿150字
2014/02/19 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
考试诚信承诺书
2014/05/23 职场文书
2014年工程部工作总结
2014/11/25 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
医生个人年度总结
2015/02/28 职场文书
MySQL Shell import_table数据导入的实现
2021/08/07 MySQL