色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php下嘗試使用GraphicsMagick的縮略圖功能

常用的圖片處理工具有GD,ImageMagick,GraphicsMagick等等。GD就是個阿斗,略過不提;ImageMagick是目前最流行的圖片處理工具,它的功能非常豐富;GraphicsMagick的功能略遜于ImageMagick,但是它的效率更強悍,就好比Apache和Nginx一樣,一個功能更強,一個效率更勝。

現(xiàn)在更看重效率,所以本文就以GraphicsMagick為例來說說:

對于phper來說,有兩種使用GraphicsMagick的方式:

1:使用PECL Gmagick擴展。
2:使用GraphicsMagick命令行。

PECL擴展的方式我并不喜歡,一來PECL代碼Bug多多,二來PECL擴展的實現(xiàn),代碼寫起來很羅嗦:比如縮放一個GIF動畫圖片,如果你用命令行的方式,一句話就搞定,而用PECL擴展的話,還得先算動畫有幾幀,再循環(huán)處理,很麻煩。所以說我更傾向于使用命令行的方式,雖然命令行操作聽起來很“重”,但如果建立若干臺圖片服務器,通過Gearman連接起來,其實很是很有彈性的。

下面我們就以GraphicsMagick為例,采用命令行的方式來看看如何使用縮略圖功能:

先上一個原始圖片(input.jpg:160x120),以后的各個例子都會用到它:



BTW:列位看官現(xiàn)在可以咽口水了。

縮略圖1

gm convert input.jpg -thumbnail '100x100' output_1.jpg



實際生成的圖片大小是:100x75,也就是說說按此命令,會保持圖片比例不變生成縮略圖。這樣很不錯,但是有一個潛在的問題:我們不能簡單明了的知道圖片的最終大小,結(jié)果是前端顯示的時候,無法設置img標簽的width和height屬性,如果我沒記錯的話,一般是推薦設定width和height屬性的,否則瀏覽器渲染起來可能會稍稍慢一點。

縮略圖2

gm convert input.jpg -thumbnail '100x100!' output_2.jpg



這次
實際生成的圖片大小按定義來,但圖片變形了,有時候這是不能接受的。

縮略圖3


gm convert input.jpg -thumbnail '100x100^' /
-gravity center -extent 100x100 output_3.jpg



這次不僅保證了大小,還保證了比例。不過圖片經(jīng)過了裁剪。

縮略圖4

gm convert input.jpg -thumbnail '100x100' /
-background gray -gravity center -extent 100x100 output_4.jpg



這次不僅保證了大小,還保證了比例,同時沒有對圖片進行任何裁剪,多余的部分按指定顏色進行填充。

縮略圖5

gm convert input.jpg -thumbnail '10000@' /
-background gray -gravity center -extent 100x100 output_5.jpg



這次保證了大小和比例,其中的10000就是100x100的乘積,同時在填充和裁剪之間做了一個平衡。


明白了以上幾個例子,縮略圖基本就能通吃了,肯定有一種會適合你的需求。GraphicsMagick的資料非常少,但好消息是GraphicsMagick和ImageMagick的用法基本兼容,所以你可以通過
ImageMagick的資料來套用。

補充:如果想讓用戶手動裁剪頭片的話,imgAreaSelect是個好選擇。

php技術php下嘗試使用GraphicsMagick的縮略圖功能,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 出国| 曲沃县| 左权县| 横山县| 高雄市| 莱西市| 通榆县| 寿阳县| 华安县| 甘德县| 剑川县| 北宁市| 郎溪县| 嫩江县| 华宁县| 察隅县| 宁远县| 正定县| 无极县| 东乡族自治县| 榆林市| 广昌县| 肃宁县| 东乡县| 布拖县| 永平县| 榕江县| 贡山| 容城县| 九龙坡区| 新泰市| 龙山县| 曲松县| 通许县| 阿尔山市| 丘北县| 青浦区| 双江| 万盛区| 五峰| 绍兴市|