PHP 实现图片压缩
imagejpeg函数压缩图片
/*** desription 压缩图片* @param string $imgsrc 图片路径* @param string $imgdst 压缩后保存路径,从项目根目录开始的路径(为空则输出图片)*/
function compressedImage($imgsrc, $imgdst)
{list($width, $height, $type) = getimagesize($imgsrc);$new_width = $width > 800 ? 800 : $width; //图片宽度的限制$new_height = $height > 800 ? ceil($height * 800 / $width) : $height; //自适应匹配图片高度switch ($type) {case 1:#先判断是否为gif动画$fp = fopen($imgsrc, 'rb');$image_head = fread($fp, 1024);fclose($fp);$giftype = preg_match("/" . chr(0x21) . chr(0xff) . chr(0x0b) . 'NETSCAPE2.0' . "/", $image_head) ? false : true;if ($giftype) {header('Content-Type:image/gif');$image_wp = imagecreatetruecolor($new_width, $new_height);$image = imagecreatefromgif($imgsrc);imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//90代表的是质量、压缩图片容量大小imagejpeg($image_wp, $imgdst, 90);imagedestroy($image_wp);imagedestroy($image);}break;case 2:header('Content-Type:image/jpeg');$image_wp = imagecreatetruecolor($new_width, $new_height);$image = imagecreatefromjpeg($imgsrc);imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//90代表的是质量、压缩图片容量大小imagejpeg($image_wp, $imgdst, 90);imagedestroy($image_wp);imagedestroy($image);break;case 3:header('Content-Type:image/png');$image_wp = imagecreatetruecolor($new_width, $new_height);$image = imagecreatefrompng($imgsrc);imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);//90代表的是质量、压缩图片容量大小imagejpeg($image_wp, $imgdst, 90);imagedestroy($image_wp);imagedestroy($image);break;}
}
imagejpeg函数
(PHP 4, PHP 5, PHP 7)
imagejpeg — 输出图象到浏览器或文件。
说明
bool imagejpeg ( resource $image
[, string $filename
[, int $quality
]] )
imagejpeg() 从 image
图像以 filename
为文件名创建一个 JPEG 图像。
参数
image
由图象创建函数(例如 imagecreatetruecolor() )返回的图象资源。
filename
文件保存的路径,如果未设置或为
NULL
,将会直接输出原始图象流。如果要省略这个参数而提供quality
参数,使用NULL。quality
quality
为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。默认为 IJG 默认的质量值(大约 75)。
返回值
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
imagejpeg详细解释链接:imagejpeg - [ php中文手册 ] - 在线原生手册 - php中文网
PHP 实现图片压缩相关推荐
- Android性能优化之图片压缩优化
1 分类 Android图片压缩结合多种压缩方式,常用的有尺寸压缩.质量压缩.采样率压缩以及通过JNI调用libjpeg库来进行压缩. 参考此方法:Android-BitherCompress 备注: ...
- JS—图片压缩上传(单张)
*vue+webpack环境,这里的that指到vue实例 <input type="file" name="file" accept="ima ...
- 使用libjpeg进行图片压缩(哈夫曼算法,无损压缩)
Huffman算法也是一种无损压缩算法,但与LZW压缩算法不同,Huffman需要得到每种字符出现概率的先验知识.通过计算字符序列中每种字符出现的频率,为每种字符进行唯一的编码设计,使得频率高的字符占 ...
- Android图片压缩(质量压缩和尺寸压缩)
在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩):质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手 ...
- android apk瘦身之 图片压缩 tinypng
Android 的图片压缩其实压缩比很小.tinypng 大概可以压缩20%左右,我们工程的所有图片,之前是860k,压缩之后620k,少了200k. 使用: 1.安装python 2.使用pip进行 ...
- (0031) iOS 开发之图片压缩
1. Aspect单词的, 都会按照图片的宽高比来拉伸.这样会显示不全照片 2. Scale单词的,都会对图片进行拉伸(缩放); 3. 没有出现Scale单词的,都不会对图片进行拉伸; UIViewC ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )
文章目录 一. 哈夫曼编码开关 二. 哈夫曼编码原理 三. libjpeg-turbo 函数库 四. libjpeg-turbo 函数库下载 [Android 内存优化]图片文件压缩 ( Androi ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
文章目录 一. 图片质量压缩方法 二. Skia 二维图形库 三. libjpeg.libpng 函数库引入 在博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供的 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...
- 【Android 内存优化】Android 原生 API 图片压缩代码示例 ( PNG 格式压缩 | JPEG 格式压缩 | WEBP 格式压缩 | 动态权限申请 | Android10 存储策略 )
文章目录 一. 图片质量压缩 二. 图片尺寸压缩 三. Android 10 文件访问 四. 完整源码示例 上一篇博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供 ...
最新文章
- HTMLDOM中三种元素节点、属性节点、文本节点的测试案例
- 谷歌大脑最新研究:用AutoML的方式自动学习Dropout模式,再也不用手动设计
- python编程从入门到精通pdf-跟老齐学Python:从入门到精通 完整版PDF[7MB]
- java web项目目录报错_netdevgirl.通过maven创建javaweb项目
- java生成验证码SWT_Java SWT Lable框中显示图片验证码
- 开源 数据查询 工具_6个用于数据新闻的开源工具
- Python项目实践:天天向上的力量
- android融云自定义消息界面大小,融云自定义消息通知栏显示
- 使用缓冲流有什么好处_使用档案密集柜有什么好处?不看一看会后悔
- Jmeter接口测试系列之测试用例变量参数化处理
- 【滤波器】基于matlab GUI高通+低通+带通+带阻FIR滤波器设计【含Matlab源码 100期】
- linux网卡取消混杂模式,Linux下网卡混杂模式设置和取消
- 机架服务器怎么安装系统,华三服务器安装系统步骤(图解华三服务器怎么安装)...
- 出价成本计算机软件,百度竞价推广中,关键词怎么出价可以降低成本?
- viso 画背景框_officevisio怎么设置背景图和图纸...
- win7禁用驱动签名验证_如何在64位Windows 8或10上禁用驱动程序签名验证(以便可以安装未签名的驱动程序)...
- ps把图抠到html里,ps抠图教程:手把手教你如何用ps抠头发丝
- Ubuntu重装NVIDIA显卡驱动
- andorid 问题集合
- 互联网金融和计算机哪个专业比较好,互联网金融专业就业方向及前景分析(解读)...