php商品图片压缩

简介:

php程序开发中经常涉及到生成缩略图,利用php生成缩略图这个过程本身没难度,但是你知道php能够优化调节生成的缩略图的质量吗?也就是说php能够控制生成缩略图的清晰度以及生成后的缩略图的体积。下面我们就来看看如何利用php优化我们压缩后的图片。


对于如何使用php生成缩略图这里就不介绍了,大家可以参考本站下面这篇文章:


php生成图片缩略图的方法


首先我们来看看用php压缩图片的程序代码:





查看代码




打印





<?php 




header('Content-type: image/PNG'); 




$image=@imagecreatefrompng('http://www.phpernote.com/images/logo.png'); 




imagepng($image,'logo.png',0); //注意后面那个数字0,这里即压缩等级,参数范围:0-9*/ 




imagedestroy($image); 


以上 imagepng 函数的第三个参数即是本篇文章所要分析的,这个参数的意思是生成图片的质量等级。这里可以分10个等级(0-9),0等级时即无压缩,图片不会失真,图片最清晰,但图片的体积也最大,随着压缩等级数字不断增大,图片会变得越来越不清晰,但压缩后图片的体积可以减少到原来的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


注意以上当压缩等级为0的时候,体积比原图还大的原因是原始图片其实是经过了轻微的压缩,而0等级的压缩就是一点压缩都没有,所以它的体积会大于原始图片。


根据以上结论和实际测试结果,作者得出的结论是在优化图片的时候,一般采用2等级比较合适,图片没有失真,但体积减少了30%,达到优化的目的了。如果采用6、7、8、9等级压缩的话,图片有所失真,而体积减少却不明显。所以不宜采用这些等级进行压缩优化图片。


本文转载自:

http://www.phpernote.com/php-function/784.html

-----------------------------

PHP 使用Imagick模块 缩放,裁剪,压缩图片 包括gif图片<br/>本文来自: 尚网 http://xue.uplook.cn/wzkf/php/1075369.html


保存时压缩处理


代码如下:

// 保存到指定路径

 public function save_to($path) {

  //压缩图片质量

  $this->image->setImageFormat('JPEG');

  $this->image->setImageCompression(Imagick::COMPRESSION_JPEG);

  $a = $this->image->getImageCompressionQuality() * 0.60;

  if ($a == 0) {

   $a = 60;

  }

  $this->image->setImageCompressionQuality($a);

  $this->image->stripImage();


  if ($this->type == 'gif') {

   $this->image->writeImages ( $path, true );

  } else {

   $this->image->writeImage ( $path );

  }

 }

<br/>本文来自: 尚网 http://xue.uplook.cn/wzkf/php/1075369.html














本文转自ljianbing51CTO博客,原文链接: http://blog.51cto.com/ljianbing/1615494,如需转载请自行联系原作者



相关文章
|
1月前
|
PHP
使用PHP实现随机调用图片
使用PHP实现随机调用图片
156 0
使用PHP实现随机调用图片
|
6月前
|
小程序 PHP 数据安全/隐私保护
php图片加水印函数
这里分享下php给图片加水印的几个自定义函数 给图片加水印首先需要开启GD库。 用到的php函数是imagecopymerge () 和 imagecopy () imagecopymerge 函数可以支持两个图像叠加时,设置叠加的透明度
54 0
|
8月前
|
PHP
【PHP】读取本地文件夹中所有图片并显示
PHP图片收集系统收集作业后,为了方便老师在线查阅作业,特意写了个读取图片然后显示出来的php 比较粗糙,可以再多美化美化
74 0
|
1月前
|
PHP 数据库
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务-2
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务
|
1月前
|
存储 PHP Apache
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务-1
DIY私人图床:使用CFimagehost源码自建无需数据库支持的PHP图片托管服务
|
1月前
|
数据采集 机器学习/深度学习 存储
图片大搜罗:PHP下载器带你畅游Twitter图像海洋
构建Twitter图像下载器,使用PHP模拟请求抓取图像,通过代理IP规避限制。示例代码展示如何设置代理、用户代理和Cookie,解析HTML提取图像链接并下载。结合机器学习与元数据分析,可洞察用户行为和社会趋势。代理服务器信息及Twitter URL需自行替换。
图片大搜罗:PHP下载器带你畅游Twitter图像海洋
|
1月前
|
XML JSON API
快速淘宝商品详情页面API接口传输 php
PI(Application Programming Interface,应用程序接口)是一组预定义的函数、协议和工具,用于构建软件应用程序之间的交互。它允许不同的软件系统和应用通过统一的接口进行数据交换和通信
|
1月前
|
存储 PHP Apache
使用CFimagehost源码搭建无需数据库支持的PHP免费图片托管私人图床
使用CFimagehost源码搭建无需数据库支持的PHP免费图片托管私人图床
|
1月前
|
数据采集 存储 JavaScript
PHP编程实践:实际商品价格数据采集
PHP编程实践:实际商品价格数据采集