2011-06-17 38 views
0

我需要在布局中的图像上绘制形状。此图像需要能够以编程方式更改为其他图像,并且还需要以编程方式在此图像上方绘制形状(矩形和圆形)。形状也会改变。我有一个现有的XML布局,并希望使用此布局与编程的图像视图。最简单的方法是什么?有可能看到一个简短的例子吗?在android中更改图像的绘制形状

回答

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是我要显示的新图像的文件位置。之后,我使用位图创建一个新的画布并绘制它。然后我使用image.setImageBitmap(bMap);将位图显示到ImageView