日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转载】尝试使用GraphicsMagick的缩略图功能

發(fā)布時間:2025/4/16 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转载】尝试使用GraphicsMagick的缩略图功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文地址:http://hi.baidu.com/thinkinginlamp/blog/item/4b61e9241f08820f4c088d95.html

嘗試使用GraphicsMagick的縮略圖功能 2010年09月03日 星期五 下午 05:32
歡迎訪問我的新主頁:http://huoding.com/

作者:老王

現(xiàn)在,對一個Web程序員來說,圖像處理已經(jīng)屬于必會知識之一了。且不說Flickr,Yupoo等專業(yè)圖片分享網(wǎng)站,就算是一個和圖片分享不沾邊的網(wǎng)站,也會用到很多圖片處理的功能,比如說:用戶上傳頭像,然后自動生成縮略圖。

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

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

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

1:使用PECL Gmagick擴(kuò)展。
2:使用GraphicsMagick命令行。

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

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

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

?

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

縮略圖1

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



實際生成的圖片大小是:100x75,也就是說說按此命令,會保持圖片比例不變生成縮略圖。這樣很不錯,但是有一個潛在的問題:我們不能簡單明了的知道圖片的最終大小,結(jié)果是前端顯示的時候,無法設(shè)置img標(biāo)簽的width和height屬性,如果我沒記錯的話,一般是推薦設(shè)定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



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

縮略圖5

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



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


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

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

參考鏈接:

http://www.imagemagick.org/Usage/thumbnails/
http://www.graphicsmagick.org/GraphicsMagick.html#details-thumbnail

原文地址:http://hi.baidu.com/thinkinginlamp/blog/item/4b61e9241f08820f4c088d95.html

轉(zhuǎn)載于:https://www.cnblogs.com/ainiaa/archive/2011/04/02/2003185.html

總結(jié)

以上是生活随笔為你收集整理的【转载】尝试使用GraphicsMagick的缩略图功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。