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

2015-01-24信息快讯网

这篇文章主要介绍了PHP把JPEG图片转换成Progressive JPEG的方法,本文同时讲解了Baseline JPEG和Progressive JPEG的区别和它们的优劣,需要的朋友可以参考下

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中HTTP_REFERER函数用法实例
PHP图像处理之imagecreate、imagedestroy函数介绍
PHP中round()函数对浮点数进行四舍五入的方法
PHP图片处理之图片背景、画布操作
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
PHP判断一个gif图片是否为动态图片的方法
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
PHP图片处理之使用imagecopy函数添加图片水印实例
php中time()与$_SERVER[REQUEST_TIME]用法区别
php5.3提示Function ereg() is deprecated Error问题解决方法
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
PHP把小数转成整数3种方法
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
使用ThinkPHP+Uploadify实现图片上传功能
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
ThinkPHP页面跳转success与error方法概述
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
PHP生成图片验证码、点击切换实例
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
destoon之URL Rewrite(伪静态)设置方法详解
destoon利用Rewrite规则设置网站安全
destoon安装出现Internal Server Error的解决方法
php获取网页中图片、DIV内容的简单方法
PHP采集类Snoopy抓取图片实例
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
php+ajax实现图片文件上传功能实例
让你的PHP同时支持GIF、png、JPEG
配置PHP使之能同时支持GIF和JPEG
©2014-2024 dbsqp.com