如何在圆形imageview中设置位图?

时间:2011-05-04 10:44:22

标签: android

我有1个圆形图像视图,我想在bitview中放置位图。 但是当我设置压缩的位图图像时,它总是矩形的。 请帮我在圆形图像视图中设置位图。

由于

1 个答案:

答案 0 :(得分:47)

我很好奇你是如何创建一个圆形的ImageView的。你能分享那个秘密吗? 就创建圆形位图而言,从要显示的位图创建一个BitmapShader。然后创建一个ShapeDrawable(椭圆)并为其指定位图着色器。绘制可绘制的。巴姆!圆形图像!

Bitmap bitmap = getthebitmapyouwanttoshowinacirclefromsomewhere;
Bitmap circleBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);

BitmapShader shader = new BitmapShader (bitmap,  TileMode.CLAMP, TileMode.CLAMP);
Paint paint = new Paint();
        paint.setShader(shader);
paint.setAntiAlias(true);
Canvas c = new Canvas(circleBitmap);
c.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, paint);

myImageView.setImageBitmap(circleBitmap);