我想创建一个空位图并将画布设置为该位图,然后在位图上绘制任何形状。创建一个空的位图和绘制虽然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