PHP压缩图片功能的介绍


Posted in PHP onMarch 21, 2019

php程序开发中经常涉及到生成缩略图,利用php生成缩略图这个过程本身没难度,但是你知道php能够优化调节生成的缩略图的质量吗?也就是说php能够控制生成缩略图的清晰度以及生成后的缩略图的体积。下面我们就来看看如何利用php优化我们压缩后的图片。

对于如何使用php生成缩略图这里就不介绍了,大家可以参考本站下面这篇文章:PHP自动生成缩略图函数的源码示例

首先我们来看看用php压缩图片的程序代码:

<?php
header('Content-type: image/png');
$image=@imagecreatefrompng('//3water.com/test.png');
imagepng($image,'test.png',0); //注意后面那个数字0,这里即压缩等级,参数范围:0-9*/
imagedestroy($image);
?>

以上 imagepng 函数的第三个参数即是本篇文章所要分析的,这个参数的意思是生成图片的质量等级。这里可以分10个等级(0-9),0等级时即无压缩,图片不会失真,图片最清晰,但图片的体积也最大,随着压缩等级数字不断增大,图片会变得越来越不清晰,但压缩后图片的体积可以减少到原来的50%,压缩比还是挺大的。

下面看一个具体的例子吧,现在一个原图体积是125k,下面是经过不同压缩等级后的测试结果:

imagepng($img,null,0); --> Size = 225K
imagepng($img,null,1); --> Size = 85.9K
imagepng($img,null,2); --> Size = 83.7K
imagepng($img,null,3); --> Size = 80.9K
imagepng($img,null,4); --> Size = 74.6K
imagepng($img,null,5); --> Size = 73.8K
imagepng($img,null,6); --> Size = 73K
imagepng($img,null,7); --> Size = 72.4K
imagepng($img,null,8); --> Size = 71K
imagepng($img,null,9); --> Size = 70.6K

注意以上当压缩等级为0的时候,体积比原图还大的原因是原始图片其实是经过了轻微的压缩,而0等级的压缩就是一点压缩都没有,所以它的体积会大于原始图片。

根据以上结论和实际测试结果,得出的结论是在优化图片的时候,一般采用2等级比较合适,图片没有失真,但体积减少了30%,达到优化的目的了。如果采用6、7、8、9等级压缩的话,图片有所失真,而体积减少却不明显。所以不宜采用这些等级进行压缩优化图片。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
简单采集了yahoo的一些数据
Feb 14 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
php实现的Cookies操作类实例
Sep 24 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
php加密解密字符串示例
Oct 13 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
php去除deprecated的实例方法
Nov 17 PHP
PHP应用跨时区功能的实现方法
Mar 21 #PHP
PHP时间函数使用详解
Mar 21 #PHP
PHP抽象类与接口的区别详解
Mar 21 #PHP
PHP CURL使用详解
Mar 21 #PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 #PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 #PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 #PHP
You might like
php include,include_once,require,require_once
2008/09/05 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
微信小程序 navbar实例详解
2017/05/11 Javascript
js实现放大镜特效
2017/05/18 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
python装饰器练习题及答案
2019/11/01 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
委托书的格式
2014/08/01 职场文书
2014年党委工作总结
2014/11/22 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
财务部会计岗位职责
2015/02/03 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python