将画布转换为android中的位图图像

sat*_*yam 50 android bitmap android-canvas

我正在尝试在画布上开发一个应用程序,我在画布上绘制一个位图.绘制后,我试图转换为位图图像.

任何人都可以给我一个建议.

先感谢您.

Wil*_*ill 71

建议取决于你想要做什么.

如果您担心控件需要很长时间才能绘制,并且您想要绘制位图以便您可以通过blit重新绘制位图而不是通过画布重新绘制,那么您希望双重猜测平台 - 控件自动将其绘图缓存到临时位图,甚至可以使用控件从控件中获取这些位图getDrawingCache()

如果要使用画布绘制位图,通常的配方是:

  1. 使用创建正确大小的位图 Bitmap.createBitmap()
  2. 使用Canvas(Bitmap)构造函数创建指向此位图的画布实例
  3. 画到画布上
  4. 使用位图


小智 22

所以你创建一个新的Bitmap,例如:

Bitmap myBitmap = new Bitmap( (int)Width, (int)Height, Config.RGB_565 )

widthheight是一样的画布.

接下来,使用canvas.setBitmap(myBitmap),但不是drawBitmap().

在你打电话之后setBitmap,你在画布上绘制的所有内容实际上都是myBitmap通过我所说明的示例代码来实现的.

编辑:

您无法直接创建位图,例如:

Bitmap myBitmap = new Bitmap( (int)Width, (int)Height, Config.RGB_565 );
Run Code Online (Sandbox Code Playgroud)

你必须使用:

Bitmap myBitmap = Bitmap.createBitmap( (int)Width, (int)Height, Config.RGB_565 );
Run Code Online (Sandbox Code Playgroud)