鍍金池/ 問(wèn)答/PHP  網(wǎng)絡(luò)安全/ 關(guān)於這個(gè) gd 庫(kù) function 如何指定大小?

關(guān)於這個(gè) gd 庫(kù) function 如何指定大?。?/h1>

我在網(wǎng)上看到這篇
http://yuncode.net/code/c_594...
用了之後成功,似乎不錯(cuò)用,成效不錯(cuò)
只是多了些疑問(wèn)

問(wèn)題1
這上面是超過(guò) 600x600就將寬高乘以0.9 ,直接將寬高打九折
想問(wèn)問(wèn)是否可以「指定寬度和高度」?假設(shè)我要 550x250呢?
補(bǔ)充:我發(fā)現(xiàn)調(diào)整成

$new_width = 550;
$new_height = 250;

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

clipboard.png

指定寬高壓縮後:

clipboard.png

問(wèn)題2

 //75代表的是質(zhì)量、壓縮圖片容量大小
imagejpeg($image_wp, $imgdst,75);

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

問(wèn)題3
jpg 跟 jpeg 都是在 case 2: 處理嗎?

問(wèn)題4
現(xiàn)在有更適合的函數(shù)可以升級(jí)這個(gè) function 嗎?讓效率更好?諸如此類。純粹好奇,畢竟發(fā)文過(guò)了一年多

問(wèn)題5
如果圖片低於我指定的寬高,能怎麼處理?網(wǎng)上是說(shuō)反而會(huì)增加 size

回答
編輯回答
厭遇

原文中的

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

是不是寫(xiě)反了。
如果 圖片的寬高大于600,那就是600,如果小于600 就返回寬高。對(duì)返回值進(jìn)行0.9

2018年9月18日 02:21
編輯回答
話寡

基本上沒(méi)有刀耕火種自己處理過(guò)圖片了,用云服務(wù)的api為主

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

后臺(tái)只需要存儲(chǔ)一張?jiān)瓐D,前臺(tái)按需調(diào)取即可。比如:

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的文檔

2018年1月27日 17:32
編輯回答
膽怯

問(wèn)題1:imagecopyresampled可以用這個(gè)函數(shù)把圖片放大縮小到指定比例并不會(huì)壓縮(但僅限于跟原圖相等的比例)
問(wèn)題2:70代表的是圖片的質(zhì)量值,越低壓縮越厲害,但是這個(gè)只有jpeg的時(shí)候有
問(wèn)題3:是的 因?yàn)檫@是同一類型的
問(wèn)題4:這個(gè)就是基本上最精簡(jiǎn)的辦法了,因?yàn)樵偕?jí)的基礎(chǔ)也是這些方法
問(wèn)題5:如果低于你指定的寬高可以按照比例值進(jìn)行放大

2017年9月5日 16:30