我需要在布局中的图像上绘制形状。此图像需要能够以编程方式更改为另一个图像,并且还需要以编程方式在该图像的顶部绘制形状(矩形和圆形)。形状也会改变。我有一个现有的xml布局,并希望将此布局与其中的编程图像视图一起使用。最简单的方法是什么?是否有可能看到一个简短的例子?
答案 0 :(得分:0)
我想出了如何做到这一点:
以下是:
ImageView image = (ImageView) findViewById(R.id.mainImageView);
Bitmap bMap = BitmapFactory.decodeFile(imageFileString);
bMap = bMap.copy(Bitmap.Config.ARGB_8888 , true);
Canvas canvas = new Canvas(bMap);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
paint.setColor(Color.BLUE);
canvas.drawCircle(x, y, radius, paint);
image.setImageBitmap(bMap);
说明:第一行从布局中获取ImageView
。然后我使用BitmapFactory.decodeFile
抓取我想要显示的新图像,其中imageFileString
是我想要显示的新图像的文件位置。之后,我使用位图创建一个新的画布并在其上绘制。然后,我使用ImageView
将位图显示到image.setImageBitmap(bMap);
。