我需要製作圖像,我從flickr下載圖像以適應500x500的形狀。如果寬高比不是1:1,則應該在頂部/底部或左側/右側添加黑條以填充空白區域。透明背景也可以工作。重要的是500x500和調整大小沒有裁剪。我怎麼能在java中做到這一點?將圖像調整爲固定大小,如果需要添加邊框
回答
克里斯,
你可以給imgscalr一試;它實現了在Java中縮放圖像的最優化方法,並且(默認情況下)在調整大小時可以尊重原始圖像的方向和比例......它還提供了非常方便的操作,可以爲您提供所需的邊框。
它不會爲你做的唯一事情是自動墊縮放畫面和完美的正方形500×500大小的區別,但你可以規模的形象像498x498 - 它會給你一個比例結果擬合的主要尺寸(horz或端口取決於方向),然後你可以墊(2)給它一個很好的邊界與任何你想要的顏色,包括一個透明的。
例如,代碼會是這個樣子(使用靜態進口可讀性):
import org.imgscalr.Scalr.*;
import java.awt.Color;
public static BufferedImage createThumbnail(BufferedImage img) {
// Target width of 500x500 is used
img = resize(img, 500);
return pad(img, 2, Color.BLACK);
}
調整大小()方法any number of additional arguments調整接頭行爲,圖像質量,速度的操作,等等。
您也可以在返回它之前應用任何預定義的OP(here),方法是將其作爲最後一個arg來調整大小或打印墊(或任何其他操作)。
此外,如果你正在嘗試做這一個服務器進程,並希望異步運行這些OPS,你可以看看AsyncScalr類提供所有相同的功能,但隊列中的操作起來反對configurable數縮放線程以避免主機被飽和。
在過去的幾年裏,imgscalr已被部署在許多服務器和客戶端場景中。如果您有機會嘗試圖書館,我很樂意聽到您的反饋。
謝謝,那就是我所需要的。如果需要,我使用調整大小,填充和裁剪方法的組合將所有圖像放到黑色500x500的正方形上,並在頂部/底部或左側/右側添加邊框。 – Kris 2012-07-25 13:25:36
- 1. 將圖像調整爲固定大小
- 2. 設置圖像大小限制和調整圖像的大小如果需要
- 3. 調整圖像大小調整圖像大小而不切斷邊框
- 4. 圖像滑塊僅調整大小大於固定大小的圖像嗎?
- 5. 調整大小/裁剪/將圖片填充到固定大小
- 6. 調整圖像大小固定的規模和保持原始圖像大小
- 7. 不需要的圖像在位圖到圖像的大小調整大小
- 8. 將圖像調整爲初始大小
- 9. 在顯示圖像之前需要根據圖像大小調整div大小
- 10. 如何將圖像文件大小調整爲可選大小
- 11. 如何將div大小調整爲圖像顯示大小
- 12. 需要圖像調整大小的小數學幫助
- 13. 爲ImageView無需預先調整大小(如圖庫)加載大圖像
- 14. 如何將所有div圖像調整爲特定大小?
- 15. 加載的圖像調整大小後調整大小布局
- 16. 如何調整邊框的大小?
- 17. 圖像調整大小作爲窗口調整大小
- 18. 可調整大小的搜索框,右邊有圖像
- 19. 調整圖像大小保持高寬比白線邊框
- 20. C#調整大小的圖像有黑色邊框
- 21. 具有固定透明邊框的可調整大小的UIView的可調整大小的蒙版
- 22. 固定大小的邊框底部
- 23. 單獨的輸入框不會調整大小而不需要調整大小
- 24. 如何將圖像放大效果添加到沒有固定大小的圖塊?
- 25. 圖像助手不需要調整大小
- 26. 需要一個PHP圖像調整大小/裁剪腳本
- 27. 用Java調整圖像大小。如何調整大小
- 28. 如何添加圖像大小調整變換CNTK
- 29. 加速圖像調整大小
- 30. 加載圖像自動調整大小
我們鼓勵你[研究你的問題](http://stackoverflow.com/questions/how-to-ask)。如果你[已經嘗試過](http://whathaveyoutried.com/),請將其添加到問題中,如果不是,請先研究並嘗試您的問題,然後再回來。 – 2012-07-23 18:23:33
我只能找到縮略圖,這不是我所需要的。不裁剪,不會出現圖像拉伸。 – Kris 2012-07-23 20:11:42