我有1个圆形图像视图,我想在bitview中放置位图。 但是当我设置压缩的位图图像时,它总是矩形的。 请帮我在圆形图像视图中设置位图。
由于
答案 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);