2015-06-16 36 views
0

我對ImgScalr API非常陌生。我需要將我的圖像調整到不同的視圖,其中一個是移動視圖,另一個是縮略圖視圖。 我已經使用了resize方法,但有疑問。這是最好的調整大小的方法來調整圖像大小的多個選項可用,保持適當的長寬比(如在圖像不會變得模糊)使用ImgScalr調整圖像的最佳分辨率

我注意到的一件事是,每個調整大小的方法需要在targetSize參數。如何指定此字段可確保圖像的高寬比不受影響。

由於我需要生成可能大小爲2 MB左右的輸入圖像的2 KB縮略圖視圖,因此調整大小方法的理想參數應該是什麼。

由於缺乏足夠的文檔和示例,我有點困惑。

+0

很抱歉,從未使用過它,但使用了https://code.google.com/p/java-image-scaling/wiki/Getting_started - 它做得體面,質量好,體積小。 –

回答

3

imgscalr作者在這裏 - 明確理解混淆,代碼庫本身(如果你碰巧瞥一眼GitHub)幾乎有50%的評論,如果你好奇圖書館是如何工作的,但從使用的角度來看你是對的 - 我沒有把很多時間用於例子。

希望我能很快擊出了一些亮點你...

寬高比

imgscalr的核心設計租戶是要始終履行長寬比 - 所以,如果你在200x1通(一些可笑的維度作爲例子),它會嘗試計算出滿足這些「目標」維度的最小維度。

如果你總是希望你的縮略圖放在某個盒子裏,就像200x200一樣 - 只要通過它,imgscalr將決定一個最終的寬度/高度,它不會比這更大(可能類似於200x127或78x200 )

質量

默認情況下,庫做的是什麼考慮的尺寸變化三角洲以及擴大/縮小稱爲「均衡」的質量方針,並選擇最方式方法(速度VS質量)。

你可以強制它總是儘可能快地縮放(放大操作的好主意),或者可以強制它總是使用高質量或超高質量(如果你想要真正清晰的縮略圖或其他操作,可以大大減少圖像分辨率,你想他們仍然看起來像樣)

最重要的是,你也可以要求圖書館應用一些額外的過濾圖像(稱爲圖像操作系統) - 我提供了一些方便的默認開箱如果您在縮放的許多源素材上出現鋸齒邊緣(通過使用診斷直線縮放桌面和其他東西的屏幕截圖時常見),則會出現反鋸齒現象

總體

圖書館,就是要儘可能地簡單易用,沒有什麼難度比:

BufferedImage thumbnail = Scalr.resize(src, 128);

將讓你開始...所有圍繞質量,配件,模式,操作等進行的其他操作只是您可以選擇做的其他事情,如果您決定結果不是您想要的結果。

希望有幫助!

+0

感謝Riyad的詳細解釋。絕對有幫助。 –