關於這個 gd 庫 function 如何指定大小?

发布于 2022-09-07 22:28:18 字数 929 浏览 17 评论 0

我在網上看到這篇
http://yuncode.net/code/c_594...
用了之後成功,似乎不錯用,成效不錯
只是多了些疑問

問題1
這上面是超過 600x600就將寬高乘以0.9 ,直接將寬高打九折
想問問是否可以「指定寬度和高度」?假設我要 550x250呢?
補充:我發現調整成

$new_width = 550;
$new_height = 250;

並不會等比例壓縮,直接把我圖片壓扁了
原圖:

clipboard.png

指定寬高壓縮後:

clipboard.png

問題2

 //75代表的是质量、压缩图片容量大小
imagejpeg($image_wp, $imgdst,75);

這句我不太懂,所以數字 75代表什麼?越低越壓縮?文件size越小?

問題3
jpg 跟 jpeg 都是在 case 2: 處理嗎?

問題4
現在有更適合的函數可以升級這個 function 嗎?讓效率更好?諸如此類。純粹好奇,畢竟發文過了一年多

問題5
如果圖片低於我指定的寬高,能怎麼處理?網上是說反而會增加 size

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

财迷小姐 2022-09-14 22:28:18

原文中的

$new_width = ($width>600?600:$width)*0.9;
$new_height =($height>600?600:$height)*0.9;

是不是写反了。
如果 图片的宽高大于600,那就是600,如果小于600 就返回宽高。对返回值进行0.9

转身泪倾城 2022-09-14 22:28:18

问题1:imagecopyresampled可以用这个函数把图片放大缩小到指定比例并不会压缩(但仅限于跟原图相等的比例)
问题2:70代表的是图片的质量值,越低压缩越厉害,但是这个只有jpeg的时候有
问题3:是的 因为这是同一类型的
问题4:这个就是基本上最精简的办法了,因为再升级的基础也是这些方法
问题5:如果低于你指定的宽高可以按照比例值进行放大

回眸一笑 2022-09-14 22:28:18

基本上没有刀耕火种自己处理过图片了,用云服务的api为主

https://help.aliyun.com/docum...

后台只需要存储一张原图,前台按需调取即可。比如:

https://res.donsee.cn/res/image/1808/3gsSxGOBLP.jpeg 原图

3gsSxGOBLP.jpeg

https://res.donsee.cn/res/image/1808/3gsSxGOBLP.jpeg!wideScreen

3gsSxGOBLP.jpeg!wideScreen

https://res.donsee.cn/res/image/1808/3gsSxGOBLP.jpeg!avatarsmall

3gsSxGOBLP.jpeg!avatarsmall

另外如果你希望研究php图片处理方面的话 建议可以看一看 imagemagick的文档

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文