2013-12-22 35 views

回答

1

使用靜態方法的最簡單的解決方案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是較小的大一者的部分。