PHP把JPEG图片转换成Progressive JPEG的方法


Posted in PHP onJune 30, 2014

JPEG文件格式有两种保存方式。他们是Baseline JPEG和Progressive JPEG.

两种格式有相同尺寸以及图像数据,他们的扩展名也是相同的,唯一的区别是二者显示的方式不同。

Baseline JPEG

这种类型的JPEG文件存储方式是按从上到下的扫描方式,把每一行顺序的保存在JPEG文件中。打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示。如果文件较大或者网络下载速度较慢,那么就会看到图片被一行行加载的效果,这种格式的JPEG没有什么优点,因此,一般都推荐使用Progressive JPEG

Progressive JPEG

和Baseline一遍扫描不同,Progressive JPEG文件包含多次扫描,这些扫描顺寻的存储在JPEG文件中。打开文件过程中,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片变得越来越清晰。这种格式的主要优点是在网络较慢的情况下,可以看到图片的轮廓知道正在加载的图片大概是什么。在一些网站打开较大图片时,你就会注意到这种技术。

如果你的网速和蜗牛一样的话,你应该可以看到效果的,其实你在qzone、微博等大型网站你会经常看到这样的效果的。

PHP代码也可以将其进行转换成Progressive 的jpg。

<?php

 

$im = imagecreatefromjpeg('file.jpg');

// 设置隔行扫描 设定了隔行扫描比特标记而图像使用 JPEG 格式,则图像被创建为渐进式 JPEG。 php手册

imageinterlace($im, 1);

imagejpeg($im, './outfile.jpg', 80);

imagedestroy($im);

 

?>

我怎么看图片到底是Progressive 还是Baseline 格式呢?

我目前知道就是使用ImageMagick软件带的identity命令进行查看图像资源

identify -verbose outfile.jpg

如果你看到有一个属性为Interlace:JPEG则是Progressive 图片。

PHP 相关文章推荐
用PHP实现登陆验证码(类似条行码状)
Oct 09 PHP
php生成数组的使用示例 php全组合算法
Jan 16 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
windows7下php开发环境搭建图文教程
Jan 06 PHP
php从csv文件读取数据并输出到网页的方法
Mar 14 PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP把小数转成整数3种方法
Jun 30 #PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
Jun 29 #PHP
php防止伪造的数据从URL提交方法
Jun 27 #PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Jun 27 #PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
Jun 27 #PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 #PHP
php使用GeoIP库实例
Jun 27 #PHP
You might like
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
用Python编写web API的教程
2015/04/30 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Python延时操作实现方法示例
2018/08/14 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
python 提取文件指定列的方法示例
2019/08/07 Python
从python读取sql的实例方法
2020/07/21 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
住宅质量保证书
2014/04/29 职场文书
细节决定成败演讲稿
2014/05/12 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
旗帜观后感
2015/06/08 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
创业计划书之书店
2019/09/10 职场文书
Python 图片添加美颜效果
2022/04/28 Python