Thumbnailator的簡(jiǎn)介和使用范例

簡(jiǎn)單介紹

Thumbnailator是一個(gè)用來生成圖像縮略圖的 Java類庫让虐,通過很簡(jiǎn)單的代碼即可生成圖片縮略圖叠纹,也可直接對(duì)一整個(gè)目錄的圖片生成縮略圖拧揽。
有了這玩意,就不用在費(fèi)心思使用Image I/O API,Java 2D API等等來生成縮略圖了蛆挫。
直接上代碼,先來看一個(gè)最簡(jiǎn)單的例子:


的確是爽歪歪的說妙黍,一行代碼就把大鳥變小鳥悴侵。
那我要是有一個(gè)文件夾都需要生成縮略圖,那還是很麻煩拭嫁,有沒有對(duì)文件夾下所有圖片生成縮略圖呢可免?答案是肯定的:

Thumbnails.of(new File("path/to/directory")
.listFiles())         
.size(640, 480)         
.outputFormat("jpg")         
.toFiles(Rename.PREFIX_DOT_THUMBNAIL);

這個(gè)代碼想不用我解釋就能看懂什么意思了吧?我個(gè)人很喜歡這種API的方式做粤,簡(jiǎn)潔浇借,易懂,明了怕品。

特點(diǎn)

可以根據(jù)現(xiàn)有的圖片生成高質(zhì)量的縮略圖

下面是一個(gè)對(duì)比:

  • | * | * | *
    -- | --| --| --
    |
    |
    |Thumbnailator生成的縮略圖
    | | |
    |
    |
    |Graphics.drawImage生成的縮略圖

可以在縮略圖中嵌入水印妇垢,并且可以設(shè)置水印的透明度

* * * *

支持生成經(jīng)過旋轉(zhuǎn)后的縮略圖

* * * * *

代碼:

for (int i : new int[] {0, 90, 180, 270, 45}) {
    Thumbnails.of(new File("coobird.png"))
            .size(100, 100)
            .rotate(i)
            .toFile(new File("image-rotated-" + i + ".png"));
}

可以生成多種質(zhì)量模式的縮略圖

如果需要的話,在生成縮略圖的時(shí)候可以保持和源圖像一樣的的寬高比

更多實(shí)戰(zhàn)例子

最簡(jiǎn)單的例子

Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .toFile(new File("thumbnail.jpg"));

最后一行的toFile()方法還接受一個(gè)String類型的參數(shù)堵泽,如下面的代碼和上面的作用的一樣的:

Thumbnails.of("original.jpg")
        .size(160, 160)
        .toFile("thumbnail.jpg");

生成一個(gè)帶有旋轉(zhuǎn)和水印的縮略圖

Thumbnails.of(new File("original.jpg"))
        .size(160, 160)
        .rotate(90)
        .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("watermark.png")), 0.5f)
        .outputQuality(0.8f)
        .toFile(new File("image-with-watermark.jpg"));

這段代碼是從original.jpg這張圖片生成最大尺寸160*160修己,順時(shí)針旋轉(zhuǎn)90°,水印放在右下角迎罗,50%的透明度睬愤,80%的質(zhì)量壓縮的縮略圖。

把生成的圖片輸出到輸出流(OutPutStream)中

OutputStream os = ...;
                 
Thumbnails.of("large-picture.jpg")
        .size(200, 200)
        .outputFormat("png")
        .toOutputStream(os);

按一定的比例生成縮略圖

BufferedImage originalImage = ImageIO.read(new File("original.png"));
 
BufferedImage thumbnail = Thumbnails.of(originalImage)
        .scale(0.25f)
        .asBufferedImage();

生成縮略圖的大小是原來的25%

整理翻譯自:
http://code.google.com/p/thumbnailator/
http://code.google.com/p/thumbnailator/wiki/Examples
Thumbnailator的下載地址:
http://code.google.com/p/thumbnailator/downloads/list
Java Doc
http://thumbnailator.googlecode.com/hg/javadoc/index.html

轉(zhuǎn)自: http://www.oschina.net/question/76860_25758

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纹安,一起剝皮案震驚了整個(gè)濱河市尤辱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厢岂,老刑警劉巖光督,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異塔粒,居然都是意外死亡结借,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門卒茬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來船老,“玉大人咖熟,你說我怎么就攤上這事×希” “怎么了馍管?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)薪韩。 經(jīng)常有香客問我确沸,道長(zhǎng),這世上最難降的妖魔是什么俘陷? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任罗捎,我火速辦了婚禮,結(jié)果婚禮上岭洲,老公的妹妹穿的比我還像新娘宛逗。我一直安慰自己,他們只是感情好盾剩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布雷激。 她就那樣靜靜地躺著,像睡著了一般告私。 火紅的嫁衣襯著肌膚如雪屎暇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天驻粟,我揣著相機(jī)與錄音根悼,去河邊找鬼。 笑死蜀撑,一個(gè)胖子當(dāng)著我的面吹牛挤巡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酷麦,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矿卑,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了沃饶?” 一聲冷哼從身側(cè)響起母廷,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎糊肤,沒想到半個(gè)月后琴昆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馆揉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年业舍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舷暮,死狀恐怖蟋座,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情脚牍,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布巢墅,位于F島的核電站诸狭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏君纫。R本人自食惡果不足惜驯遇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓄髓。 院中可真熱鬧叉庐,春花似錦、人聲如沸会喝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肢执。三九已至枉阵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間预茄,已是汗流浹背兴溜。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耻陕,地道東北人拙徽。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像诗宣,于是被迫代替她去往敵國和親膘怕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容