鍍金池/ 問答/PHP  網絡安全/ 關於這個 gd 庫 function 如何指定大???

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

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

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

$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 嗎?讓效率更好?諸如此類。純粹好奇,畢竟發(fā)文過了一年多

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

回答
編輯回答
厭遇

原文中的

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

是不是寫反了。
如果 圖片的寬高大于600,那就是600,如果小于600 就返回寬高。對返回值進行0.9

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

基本上沒有刀耕火種自己處理過圖片了,用云服務的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的文檔

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

問題1:imagecopyresampled可以用這個函數把圖片放大縮小到指定比例并不會壓縮(但僅限于跟原圖相等的比例)
問題2:70代表的是圖片的質量值,越低壓縮越厲害,但是這個只有jpeg的時候有
問題3:是的 因為這是同一類型的
問題4:這個就是基本上最精簡的辦法了,因為再升級的基礎也是這些方法
問題5:如果低于你指定的寬高可以按照比例值進行放大

2017年9月5日 16:30