如何使用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 中排序
Apr 21 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
php中并发读写文件冲突的解决方案
Oct 25 PHP
php获得url参数中具有&amp;的值的方法
Mar 05 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
浅谈PHP安全防护之Web攻击
Jan 03 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 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实现保存submit内容之后禁止刷新
2014/03/19 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
django如何连接已存在数据的数据库
2018/08/14 Python
Python对excel文档的操作方法详解
2018/12/10 Python
Python输出指定字符串的方法
2020/02/06 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
django上传文件的三种方式
2021/04/29 Python
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫