我需要製作圖像,我從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. 使用javascript將jpeg圖像調整爲固定大小
- 7. Python:將圖像大小調整爲固定大小,忽略初始長寬比
- 8. Superslides將圖像大小調整爲大
- 9. 將邊框添加到調整大小的照片
- 10. 圖像滑塊僅調整大小大於固定大小的圖像嗎?
- 11. 調整大小/裁剪/將圖片填充到固定大小
- 12. 不需要的圖像在位圖到圖像的大小調整大小
- 13. 調整圖像大小固定的規模和保持原始圖像大小
- 14. 編輯在JavaScript中團塊圖像(調整大小和添加邊框)
- 15. 將圖像調整爲初始大小
- 16. 將div調整爲圖像大小
- 17. 在顯示圖像之前需要根據圖像大小調整div大小
- 18. 如何將圖像文件大小調整爲可選大小
- 19. 如何將div大小調整爲圖像顯示大小
- 20. 需要圖像調整大小的小數學幫助
- 21. 爲ImageView無需預先調整大小(如圖庫)加載大圖像
- 22. JQuery Colorbox:將超大圖像調整爲給定大小
- 23. 如何將所有div圖像調整爲特定大小?
- 24. 加載的圖像調整大小後調整大小布局
- 25. 如何調整邊框的大小?
- 26. 將圖像添加到按鈕而不調整大小
- 27. HTML圖像不要調整大小
- 28. 圖像調整大小作爲窗口調整大小
- 29. 爲什麼JFrame在添加圖像時自行調整大小
- 30. 調整大小後的圖像有白色邊框
我們鼓勵你[研究你的問題](http://stackoverflow.com/questions/how-to-ask)。如果你[已經嘗試過](http://whathaveyoutried.com/),請將其添加到問題中,如果不是,請先研究並嘗試您的問題,然後再回來。 – 2012-07-23 18:23:33
我只能找到縮略圖,這不是我所需要的。不裁剪,不會出現圖像拉伸。 – Kris 2012-07-23 20:11:42