登录  /  注册

PHP处理图片大小的实例分享

*文
发布: 2017-12-23 14:30:12
原创
1270人浏览过

很多时候用户上传的图片很大,直接返回原图会非常占用服务器带宽。这个时候我们就需要对图片大小进行处理,那么php如何实现处理图片大小呢?本文就来分享使用gd库处理图片大小的实例。

1.利用php的方法进行图片尺寸修改和储存

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

准备工作:1.需要原图片的链接2.GD库支持

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

  假设原图片链接:$url;

   方法操作:

第一步:  $arrimg = getimagesize($url);

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

$arrimg :这个的形式是:

Array
(
    [0] => 350
    [1] => 318
    [2] => 2
    [3] => width="350" height="318"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)
登录后复制

说明:$arrimg[2]中的数字代表着不同图片类型的数字索引查看:

返回结果说明

索引 0 给出的是图像宽度的像素值

索引 1 给出的是图像高度的像素值

索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order)

,9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM

索引 3 给出的是一个宽度和高度的字符串,可以直接用于 HTML 的 标签

索引 bits 给出的是图像的每种颜色的位数,二进制格式

索引 channels 给出的是图像的通道值,RGB 图像默认是 3

索引 mime 给出的是图像的 MIME 信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如:

header("Content-type: image/jpeg");

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

第二步:根据宽:$arrimg[0],长:$arrimg [1]进行比例处理,把需要得到后的图片大小尺寸按照比例弄出来

在这里暂时设定需要得到图片的大小尺寸为 :$newheight $newwidth

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

第三步:$thumb = imagecreatetruecolor($newwidth,$newheight);

说明:imagecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 $newwidth和 $newheight的黑色图像

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

第四步: $source = imagecreatefromjpeg($url);

说明:imagecreatefromjpeg() 返回一图像标识符,代表了从给定的文件名取得的图像

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

第五步 :ImageCopyResampled($thumb,$source,0,0,0,0,$newwidth,$newheight,$arrimg[0],$arrimg[1]);

imagecopyresampled -- 重采样拷贝部分图像并调整大小。

++++++++++++++

第六步:

进行判断什么样的类型然后进行存储

switch($arrimg[2]){
//支持jpg
case  2:
imagejpeg($thumb,'test.jpg');
break;
//支持png
case 3:
imagejpeg($thumb,'test.jpg');
break;
default:
echo "<script>alert(&#39;带开发其他类型&#39;);</script>";
break;
}
登录后复制

相关推荐:

php实现获取远程图片尺寸以及大小的高效方法

php图片处理之图片背景、画布操作

php GD库生成图像的几个函数总结

以上就是PHP处理图片大小的实例分享的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号