Android 在位图上绘图?

Android 在位图上绘图?,android,bitmap,android-canvas,Android,Bitmap,Android Canvas,我有一个位图,我想在上面画圆圈或正方形。 我需要使用画布还是可以在位图上绘制?在现有位图上创建画布,然后可以绘制。您可以使用canvas将数据绘制到Bitmap实例中,只需创建canvas实例并将位图传递给构造函数即可但是,位图必须是可变的,否则您将无法编辑其像素数据。默认情况下,通过加载图像文件等创建的任何位图都是不可更改的。您可能需要使用一个版本的Bitmap.createBitmap(),该版本将原始文件作为参数,以便制作可在其上绘制的可变副本。您需要在画布上绘制如下: Bitmap bm

我有一个位图,我想在上面画圆圈或正方形。
我需要使用画布还是可以在位图上绘制?

在现有位图上创建画布,然后可以绘制。

您可以使用
canvas
将数据绘制到
Bitmap
实例中,只需创建
canvas
实例并将
位图
传递给构造函数即可但是
位图
必须是可变的,否则您将无法编辑其像素数据。默认情况下,通过加载图像文件等创建的任何
位图都是不可更改的。您可能需要使用一个版本的
Bitmap.createBitmap()
,该版本将原始文件作为参数,以便制作可在其上绘制的可变副本。

您需要在画布上绘制如下:

Bitmap bmp = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);

canvas.drawText("Test", 100, 100);