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 相关文章推荐
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
Apr 12 PHP
打造超酷的PHP数据饼图效果实现代码
Nov 23 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
Linux编译升级php的详细方法
Nov 04 PHP
PHP程序员基本要求和必备技能
May 09 PHP
PHP邮件发送类PHPMailer用法实例详解
Sep 22 PHP
php创建多级目录的方法
Mar 24 PHP
PHP标准类(stdclass)用法示例
Sep 28 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 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
世界上第一台立体声收音机
2021/03/01 无线电
简单的过滤字符串中的HTML标记
2006/12/25 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
2018/05/16 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
Python进行数据科学工作的简单入门教程
2015/04/01 Python
python类装饰器用法实例
2015/06/04 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
什么是Python包的循环导入
2020/09/08 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
2014年国培研修感言
2014/03/09 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
小学英语复习计划
2015/01/19 职场文书
雨中的树观后感
2015/06/03 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
高中语文教学反思范文
2016/02/16 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书