PHP可以控制缩略图清晰度和缩略图之后产生音量的产生。下面我们就来看看如何使用PHP优化我们的压缩图像。

 PHP应用程序的开发往往涉及生成缩略图,使用PHP生成缩略图的过程本身并不难,但你知道PHP调整来优化它的生成缩略图的质量呢?
12header('Content-type: image/PNG');
3$image=@imagecreatefrompng('http://www.phpernote.com/images/logo.png');
4imagepng($image,'logo.png',0); //注意后面那个数字0,这里即压缩等级,参数范围:0-9*/
5imagedestroy($image);

第三个参数超过imagepng函数,这个参数的意义是生成的图像质量水平。在这里,可以分为10个等级(0-9),未压缩的零电平的图像不会失真,最清晰的图像,但画面也是成交量最大,随着越来越多的数字压缩级别,画面会越来越的不太清楚,但压缩体积图像可减少到原来的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
 
需要注意的是在PHP入门中,当压缩级别是0以上时,体积比原来的大,因为原始图象实际上是轻微压缩的结果,和压缩级别0是一个比特压缩都没有,所以它的体积会大于原始图像。基于上述结论,实际测试结果,作者得出结论认为,优化图像,一般使用2级是合适的,图片不变形,但体积减少30%,以优化的目的。如果6,7,8,9级压缩,已经变形图片,而体积减少不明显。所以这些等级不应被用来优化图像压缩。

如何利用PHP语言压缩图片?PHP入门教程的更多相关文章

  1. Android学习之利用BitmapFactory工厂压缩图片

    BufferedInputStream in = new BufferedInputStream( new FileInputStream(new File(path))); BitmapFactor ...

  2. 利用 canvas 实现压缩图片

    /** * nase64Data --> 要压缩的图片base64数据 * width --> 宽度 * height --> 高度 * _callback --> 回调函数 ...

  3. CTF丨Linux Pwn入门教程:针对函数重定位流程的相关测试(下)

    Linux Pwn入门教程系列分享已接近尾声,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/a ...

  4. CTF必备技能丨Linux Pwn入门教程——stack canary与绕过的思路

    Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...

  5. CTF必备技能丨Linux Pwn入门教程——PIE与bypass思路

    Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...

  6. 利用canvas压缩图片

    现在手机拍的照片动不动就是几M,当用户上传手机里的照片时一个消耗流量大,一个上传时间长,为了解决这个问题,就需要压缩图片: 想法:利用canvas重绘图片,保持宽高比不变,具体宽高根本具体情况而定. ...

  7. 续Gulp使用入门三步压缩图片

    gulp 压缩图片 压缩 图片文件可降低文件大小,提高图片加载速度. 找到规律转换为 gulp 代码 规律 找到 images/ 目录下的所有文件,压缩它们,将压缩后的文件存放在 dist/image ...

  8. Swift语言Auto Layout入门教程:上篇

    原文:Beginning Auto Layout Tutorial in Swift: Part 1/2,译者:@TurtleFromMars 开始用自动布局约束的方式思考吧! 更新记录:该教程由Br ...

  9. 《JavaScript语言入门教程》记录整理:运算符、语法和标准库

    目录 运算符 算数运算符 比较运算符 布尔运算符 二进制位运算符 void和逗号运算符 运算顺序 语法 数据类型的转换 错误处理机制 编程风格 console对象和控制台 标准库 Object对象 属 ...

随机推荐

  1. java Pattern和Matcher完全解析

    基本使用: 本文不讲解正则表达式,需要请看API Scanner中的使用正则表达式 //Scanner 支持的分组 Scanner cin=new Scanner("red a bbc&qu ...

  2. 8.10zju集训日记

    今天的题目比昨天的简单,一开始自己看了一道题意比较难懂的题目,然后看到榜上有人做出的两道不同的题目,然后马上改变目标,金大佬看的题目是一道比较裸的高斯消元,基本上只要模板正确就可以对,于是很快就开始打 ...

  3. HDU 5934 (强连同分量+缩点)

    题意: 给出n个炸弹的信息 :坐标x , 坐标y , 爆炸半径 , 成本: 如果一个炸弹被引爆那这个范围的都爆炸 , 问最小的成本是多少? 题意:首先先来个n^2 暴力出某个炸弹爆炸波及的其他炸弹,用 ...

  4. javaEE 转发 和 重定向

    转发 两种方法: 1,request.getRequestDispatcher(getServletContext().getContextPath() + "/path").fo ...

  5. C3算法 和 super

    一. Python的继承  多继承 子类继承父类. 继承是为了节省开发时间.提高开发效率 代码得到了重(chong)用 一个类可以拥有多个父类 lass shen_xian: # 定义一个神仙类 de ...

  6. python模块之beautifulSoup

    1. Beautiful Soup的简单介绍 Beautiful Soup是python的一个库,主要的功能是从网页抓取数据,并对数据进行分析.官方解释为:Beautiful Soup提供一些简单的. ...

  7. C++ opencv 滑动条 Trackbary以及处理三通道和单通道图像

    #include <opencv2\core.hpp> #include <opencv2\highgui.hpp> #include <opencv2\imgproc. ...

  8. linux下WordPress安装

    http://www.cnblogs.com/xiaofengkang/ WordPress简介 WordPress 是一种使用 PHP语言和 MySQL数据库开发的开源.免费的Blog(博客,网志) ...

  9. hadoop用put上传文件时报错

    用命令-put上传文件 报错0 datanode(s) running 原因是进行了多次格式化 解决办法: 停止集群 删除在hdfs中配置的data目录(即在core-site.xml中配置的hado ...

  10. java——HashMap、Hashtable

    Map:类似Python的字典 HashMap: 不支持线程的同步,即同一时刻不能有多个线程同时写HashMap: 最多只允许一条记录的键值为null,不允许多条记录的值为null HashMap遍历 ...