1

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

4

3 回答 3

2

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

于 2012-11-27T17:50:19.050 回答
1

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

于 2012-11-27T17:43:56.707 回答
0

你需要像这样在画布上绘制:

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

canvas.drawText("Test", 100, 100);
于 2012-11-27T17:50:59.223 回答