本文介绍了关于PHP解决图片无损压缩的问题,分享给大家,具体如下:

代码如下:
header("Content-type: image/jpeg");
$file = "111.jpg";
$percent = 1.5; //图片压缩比
list($width, $height) = getimagesize($file); //获取原图尺寸
//缩放尺寸
$newwidth = $width * $percent;
$newheight = $height * $percent;
$src_im = imagecreatefromjpeg($file);
$dst_im = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($dst_im, $src_im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($dst_im); //输出压缩后的图片
imagedestroy($dst_im);
imagedestroy($src_im);
我发现用php的imagecopyresized把大图片缩成小图片时,图片会变得很模糊,这时候要提升清晰度不如用 imagecopyresampled 代替 imagecopyresized也许会更好。
注:压缩有损失是必然的,看的清楚与否实际上就是是否接受这个范围的问题.比如你图像上原图有些点是2px,但是你压缩5倍,那么这些点就会消失。
<?php
/**
* desription 压缩图片
* @param sting $imgsrc 图片路径
* @param string $imgdst 压缩后保存路径
*/
function image_png_size_add($imgsrc,$imgdst){
list($width,$height,$type)=getimagesize($imgsrc);
$new_width = ($width>600?600:$width)*0.9;
$new_height =($height>600?600:$height)*0.9;
switch($type){
case 1:
$giftype=check_gifcartoon($imgsrc);
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);
imagejpeg($image_wp, $imgdst,75);
imagedestroy($image_wp);
}
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);
imagejpeg($image_wp, $imgdst,75);
imagedestroy($image_wp);
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);
imagejpeg($image_wp, $imgdst,75);
imagedestroy($image_wp);
break;
}
}
/**
* desription 判断是否gif动画
* @param sting $image_file图片路径
* @return boolean t 是 f 否
*/
function check_gifcartoon($image_file){
$fp = fopen($image_file,'rb');
$image_head = fread($fp,1024);
fclose($fp);
return preg_match("/".chr(0x21).chr(0xff).chr(0x0b).'NETSCAPE2.0'."/",$image_head)?false:true;
}
?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# PHP
# 图片无损压缩
# png无损压缩
# PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
# PHP图片裁剪函数(保持图像不变形)
# PHP图像识别技术原理与实现
# PHP中绘制图像的一些函数总结
# php图像处理函数大全(推荐收藏)
# php使用imagick模块实现图片缩放、裁剪、压缩示例
# 基于PHP实现等比压缩图片大小
# PHP添加图片水印、压缩、剪切的封装类
# php高清晰度无损图片压缩功能的实现代码
# PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
# 就会
# 片时
# 得很
# 给大家
# 也许会
# 如你
# 大家多多
# 小图
# 如用
# 压缩比
# 判断是否
# 这时候
# 大图片
# 我发现
# 但是你
# 是必然
# dst_im
# imagejpeg
# imagecopyresized
# imagecreatetruecolor
相关文章:
网站代码制作软件有哪些,如何生成自己网站的代码?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何在橙子建站上传落地页?操作指南详解
Swift中swift中的switch 语句
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
广州美橙建站如何快速搭建多端合一网站?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何选择香港主机高效搭建外贸独立站?
清除minerd进程的简单方法
建站之星代理费用多少?最新价格详情介绍
如何快速配置高效服务器建站软件?
南平网站制作公司,2025年南平市事业单位报名时间?
学校为何禁止电信移动建设网站?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
建站之星免费模板:自助建站系统与智能响应式一键生成
建站主机与虚拟主机有何区别?如何选择最优方案?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
建站主机是否属于云主机类型?
高防服务器如何保障网站安全无虞?
郑州企业网站制作公司,郑州招聘网站有哪些?
家具网站制作软件,家具厂怎么跑业务?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
内网网站制作软件,内网的网站如何发布到外网?
如何注册花生壳免费域名并搭建个人网站?
如何快速完成中国万网建站详细流程?
建站OpenVZ教程与优化策略:配置指南与性能提升
如何通过VPS搭建网站快速盈利?
Java解压缩zip - 解压缩多个文件或文件夹实例
如何配置FTP站点权限与安全设置?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
如何在IIS7中新建站点?详细步骤解析
创业网站制作流程,创业网站可靠吗?
制作门户网站的参考文献在哪,小说网站怎么建立?
个人网站制作流程图片大全,个人网站如何注销?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何在建站之星绑定自定义域名?
网页设计网站制作软件,microsoft office哪个可以创建网页?
如何高效配置香港服务器实现快速建站?
如何在万网自助建站中设置域名及备案?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
公司网站的制作公司,企业网站制作基本流程有哪些?
如何通过VPS建站无需域名直接访问?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
c# 在高并发场景下,委托和接口调用的性能对比
定制建站哪家更专业可靠?推荐榜单揭晓
如何用VPS主机快速搭建个人网站?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。