如何使用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 相关文章推荐
有关 PHP 和 MySQL 时区的一点总结
Mar 26 PHP
PHP define函数的使用说明
Aug 27 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
Nov 07 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
php获取字段名示例分享
Mar 03 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
php面向对象中static静态属性与方法的内存位置分析
Feb 08 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
php调用自己java程序的方法详解
May 13 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 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学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
2013/06/13 PHP
PHP页面中文乱码分析
2013/10/29 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
深入解析Python中的WSGI接口
2015/05/11 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
python 多线程中join()的作用
2020/10/29 Python
保护动物倡议书
2014/04/15 职场文书
社区活动总结报告
2014/05/05 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
接收函
2019/04/22 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL