0
我有大的位圖(720x6000),我需要從它製作6個小的位圖(每個720x1000)。我該怎麼做?請添加一些代碼給你的答案。Android - 如何從一個大的位圖創建小的位圖?
對不起我的英語水平,請。
我有大的位圖(720x6000),我需要從它製作6個小的位圖(每個720x1000)。我該怎麼做?請添加一些代碼給你的答案。Android - 如何從一個大的位圖創建小的位圖?
對不起我的英語水平,請。
使用靜態方法的最簡單的解決方案Bitmap.createBitmap (Bitmap source, int x, int y, int width, int height)
witch從'source'位圖的指定子集中創建一個新的不可變位圖(不可修改的位圖不能修改,試圖修改一個會拋出異常)。如果較小的位圖必須可變,則可以通過調用Bitmap.copy(Bitmap.Config config, boolean isMutable)
將由Bitmap.createBitmap()
返回的不可變位圖轉換爲可變位圖。
Bitmap bigBitmap = ...;
Bitmap smallBitmap1 = Bitmap.createBitmap(bigBitmap, 0, 0, 720, 1000);
Bitmap smallBitmap2 = Bitmap.createBitmap(bigBitmap, 0, 1000, 720, 1000);
Bitmap smallBitmap3 = Bitmap.createBitmap(bigBitmap, 0, 2000, 720, 1000);
...
// to make small bitmaps mutable
smallBitmap1 = smallBitmap1.copy(Bitmap.Config.ARGB_8888, true);
smallBitmap2 = smallBitmap2.copy(Bitmap.Config.ARGB_8888, true);
...
另一解決方案是創建空的小的位圖和繪圖上使用Canvas
是較小的大一者的部分。
你最好是規模位圖或你會耗盡內存真的很快。 – Simon