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 preg_match_all结合str_replace替换内容中所有img
Oct 11 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
Feb 18 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
php学习笔记之面向对象
Nov 08 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 PHP
PHP+MySQL实现消息队列的方法分析
May 09 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
PHP defined()函数的使用图文详解
Jul 20 PHP
php+lottery.js实现九宫格抽奖功能
Jul 21 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
Oct 12 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
php如何调用webservice应用介绍
2012/11/24 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
PHP使用curl函数发送Post请求的注意事项
2016/11/26 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
jQuery 工具函数学习资料
2010/04/29 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
Python字符串处理实现单词反转
2017/06/14 Python
Python实现求数列和的方法示例
2018/01/12 Python
python求解数组中两个字符串的最小距离
2018/09/27 Python
详解python中递归函数
2019/04/16 Python
python远程邮件控制电脑升级版
2019/05/23 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
管理信息系学生的自我评价
2014/01/11 职场文书
超越自我演讲稿
2014/05/21 职场文书
付款承诺函范文
2015/01/21 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
寻找成龙观后感
2015/06/12 职场文书