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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)
Apr 03 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
深入PHP内存相关的功能特性详解
Jun 08 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
Apr 08 PHP
php中socket的用法详解
Oct 24 PHP
各种快递查询--Api接口
Apr 26 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
Laravel5.1 框架路由基础详解
Jan 04 PHP
PHP高并发和大流量解决方案整理
Dec 24 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
PHP序列化操作方法分析
2016/09/28 PHP
javascript replace()第二个参数为函数时的参数用法
2016/12/26 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
Python程序设计入门(5)类的使用简介
2014/06/16 Python
Python排序算法实例代码
2017/08/10 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
python中有帮助函数吗
2020/06/19 Python
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
设计师大码女装:11 Honoré
2020/05/03 全球购物
laravel使用redis队列实例讲解
2021/03/23 PHP
自我鉴定的范文
2013/10/03 职场文书
自荐信的禁忌和要点
2013/10/15 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
个人党性锻炼总结
2015/03/05 职场文书
2015年教研员工作总结
2015/05/26 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
整理Python中常用的conda命令操作
2021/06/15 Python
Python的property属性详细讲解
2022/04/11 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫