php中10个不同等级压缩优化图片操作示例


Posted in PHP onNovember 14, 2016

本文实例分析了php中10个不同等级压缩优化图片操作。分享给大家供大家参考,具体如下:

今天找到一个php写的压缩图片程序,可以分10个等级(0-9)来压缩,0等级时压缩比率不是很大,图片不会失真;随着压缩等级不断增大,图片会变得越来越不清晰,通常压缩后图片大小可以减少到原来的50%,压缩比还是挺大的。

如下是php压缩图片程序

<?php
Header("Content-type: image/PNG");/*告诉IE浏览器你做的程序是张图片*/
$image = @imagecreatefrompng ("banner.png"); 
imagepng ($image,null,0); /*压缩等级0-9,压缩后9最小,1最大*/
imagedestroy ($image);
?>

原图体积是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时,它的体积反而变大了?

我们在优化的时候,一般采用2等级比较合适,图片没有失真,但体积减少了30%,达到优化的目的了。如果采用6、7、8、9等级压缩的话,图片有所失真,所以不宜采用这些等级进行压缩优化图片。

我们看看老外是怎么解释这个现象的:

The result seems accurate since 0 means no compression

quality Compression level: from 0 (no compression) to 9.

It's normal for the 0ed file to be larger than the original (that can be slightly compressed to begin with). You need to understand file compression and PHP GD image constructor.

老外的解释有没有道理呢?他认为原始图片其实是经过了轻微的压缩,而0等级的压缩就是一点压缩都没有,所以它的体积会大于原始图片。我感觉此话不无道理。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP产生随机字符串函数
Dec 06 PHP
PHP mkdir()定义和用法
Jan 14 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
php摘要生成函数(无乱码)
Feb 04 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
PHP+MySQL插入操作实例
Jan 21 PHP
PHP输出日历表代码实例
Mar 27 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 PHP
PHP实现文件上传操作和封装
Mar 04 PHP
Symfony2创建基于域名的路由相关示例
Nov 14 #PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
Nov 14 #PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 #PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 #PHP
PHP实现无限分类的实现方法
Nov 14 #PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 #PHP
PHP编写daemon process 实例详解
Nov 13 #PHP
You might like
人大复印资料处理程序_补充篇
2006/10/09 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
深入PHP数据加密详解
2013/06/18 PHP
php fread读取文件注意事项
2016/09/24 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
完美的php分页类
2017/10/24 PHP
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
新手vue构建单页面应用实例代码
2017/09/18 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
python 利用toapi库自动生成api
2020/10/19 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
英文版网络工程师求职信
2013/10/28 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
教学质量月活动总结
2015/05/11 职场文书
海上钢琴师的观后感
2015/06/11 职场文书