我想用BitmapFactory.decodeFile(路徑,選項)從SD卡解碼圖像。
我也希望大於2048x2048像素的圖像縮小到最大2048x2048(保持比例)。
我可以在獲取位圖後手動執行此操作,但除了已分配的字節外,還需要分配大量的字節。
我應該如何設置我的BitmapFactory.Options對象來獲得該效果?
感謝Android如何使用BitmapFactory選項縮放圖像選項
17
A
回答
10
使用BitmapFactory.Options.inSampleSize當您第一次加載圖像以獲得儘可能接近您的目標尺寸的大小,然後使用Bitmap.createScaledBitmap
來縮放到所需的確切大小。
這裏有一些代碼在this answer。
3
你可以嘗試這樣的事情:
int imageWidth, imageHeight;
Bitmap result = Bitmap.createScaledBitmap(bitmapPicture,
imageWidth, imageHeight, false);
在這裏,你可以添加自己的寬度和高度。 bitmapPicture
是Bitmap
的對象。 讓我知道這是否對你有任何幫助。
5
從您的Options
開始,將inJustDecodeBounds
設置爲true
,這將爲您提供圖像的大小,而不會加載任何圖像數據。
如果圖片尺寸小於您的最大尺寸,則只需像往常一樣加載。
另一方面,如果太大,請使用inSampleSize
來讀取較小的位圖。
注:我不認爲解碼做任何過濾使用inSampleSize的時候,所以你可能會失去一些細節,但你的圖像尺寸是如此之大(2048像素),我不認爲這會造成任何問題。
相關問題
- 1. 使用BitmapFactory選項的Android位圖縮放比例
- 2. Android選項卡,如何顯示選定選項卡的圖像
- 3. 對話框中的圖像縮放選項android
- 4. 如何將圖像放置在android的選項卡活動選項卡中?
- 5. 將Android圖像縮放到Listview項目
- 6. JIT圖上的替代縮放選項
- 7. 縮放複選框內的圖像android
- 8. 如何使用縮放縮放封面流圖像放大android
- 9. OpenCV - 圖像壓縮的可能選項
- 10. 如何使用子選項做選項?
- 11. 萬能圖像加載器有放大/縮小選項嗎?
- 12. 縮放和旋轉圖像,iframe中的選項
- 13. LoaderImageView縮放選項不起作用
- 14. 圖像的圖像選擇選項
- 15. .android谷歌地圖顯示空白網格與縮放選項
- 16. 將圖像放入jQuery選項卡中?
- 17. 像谷歌播放選項
- 18. 如何在共享首選項中保存縮放位圖?
- 19. Android選項卡圖像不適合選項卡
- 20. 如何用放大鏡在新選項卡中打開圖像
- 21. 將選項縮放選項以編程方式創建imageview
- 22. iOS Safari - 禁用縮放以縮放選項
- 23. 爲什麼我不使用BitmapFactory的inPurgeable選項?
- 24. 如何使用android粘貼選項
- 25. 使用選項標籤添加圖像
- 26. knitRBootstrap:縮放選項,縮略圖大小和打印尺寸
- 27. android更好的保存圖像選項?
- 28. Android將圖像添加到首選項?
- 29. 帶選擇選項的圖像地圖
- 30. 如何從order_id獲取選項圖像
就像我說的,我試圖避免不得不分配另一個2048x2048像素,但讓BitmapFactory自動執行此操作,因爲我的內存很短。你的方法只是分配一個新的位圖,這不是我想要的。感謝您的回覆。 – saarraz1 2012-02-20 12:26:47