我想創建一個空位圖並將畫布設置爲該位圖,然後在位圖上繪製任何形狀。創建一個空的位圖和繪製雖然Android中的畫布
回答
這可能是更簡單的比你想:
int w = WIDTH_PX, h = HEIGHT_PX;
Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types
Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap
Canvas canvas = new Canvas(bmp);
// ready to draw on that bitmap through that canvas
這裏有一系列的教程,我的話題發現:Drawing with Canvas Series
不要使用Bitmap.Config.ARGB_8888
改爲使用 int w = WIDTH_PX,h = HEIGHT_PX;
Bitmap.Config conf = Bitmap.Config.ARGB_4444; // see other conf types
Bitmap bmp = Bitmap.createBitmap(w, h, conf); // this creates a MUTABLE bitmap
Canvas canvas = new Canvas(bmp);
// ready to draw on that bitmap through that canvas
當處理更多位圖或大型位圖時,ARGB_8888會將您置於OutOfMemory問題中。 或更好的是,儘量避免使用ARGB選項本身。
ARGB_8888是Android位圖源代碼的默認值 – 2014-01-26 19:21:57
嗨@userI創建位圖onSizeChanged()與RGB_565,但是當我創建位圖時,我得到OutOfMemoryError.Please看到這個http://stackoverflow.com/questions/24303759/ outofmemoryerror-when-creatingbitmp – user123456 2014-06-23 05:27:39
ARGB_4444現已棄用(http://developer.android.com/reference/android/graphics/Bitmap.Config.html#ARGB_4444) – Allen 2014-09-21 23:36:49
- 1. Android創建一個圓形位圖,而無需在畫布上繪製它
- 2. 在XML佈局中創建一個可繪製的畫布
- 3. Android旋轉位圖並繪製畫布
- 4. 從位圖或畫布的Android繪製區域與畫布
- 5. 在Android中使用畫布和位圖繪製一個8x8正方形
- 6. Android:在畫布和視圖上繪製(無位圖)
- 7. 繪製到WPF畫布的位圖
- 8. Android - 將位圖繪製到畫布上的特定位置
- 9. 將圖像繪製到新創建的畫布或緩衝區中的畫布
- 10. Android的畫布繪製多幀圖像
- 11. Android畫布不以另一種方法在位圖上繪製
- 12. 在android屏幕上繪製和創建畫布
- 13. android如何繪製半透明的畫布上的位圖
- 14. 創建從位圖繪製
- 15. 爲什麼繪製到Android畫布不修改我的位圖?
- 16. Android Studio畫布:繪製太大的位圖
- 17. 在畫布上繪製位圖重疊
- 18. 將畫布繪製成位圖
- 19. NullpointerException在畫布上繪製位圖
- 20. 繪製後位圖不在畫布上
- 21. 在畫布上反轉繪製位圖
- 22. OnDraw:畫布不是繪製位圖
- 23. 規模和繪製圖像在一個更大的畫布內
- 24. 在Android的畫布中繪製球體?
- 25. 創建一個新的位圖,並繪製新的像素
- 26. Android將我的所有畫布繪製到另一個類中?
- 27. 安排畫布上繪製的繪圖
- 28. Android - 在畫布上繪製視圖
- 29. 保存一個畫布到位圖,然後保存位圖
- 30. 直接在畫布上繪製位圖vs在畫布上
如果我在一個單獨的類中創建它,我將如何引用另一個類中的位圖。例如:位圖文本= BitmapFactory.decodeResource(mContext.getResources(),這裏放什麼?);我需要一個opengl動態壁紙內的textView。在此先感謝 – 2013-05-07 21:47:01
您好@bigstones我在onSizeChanged()創建位圖時,我正在跟隨您的代碼創建位圖時我正在OutOfMemoryError請參閱http://stackoverflow.com/questions/24303759/outofmemoryerror-when-creatingbitmp – user123456 2014-06-23 05:25:06
如何這可以在使用SurfaceView時在另一個線程中完成嗎? – 2014-06-24 00:20:37