我有 1 个圆形 ImageView ,我想在 ImageView 中放置位图。 但是当我设置压缩位图图像时,它总是矩形的。 请帮我在圆形 ImageView 中设置位图。
谢谢
最佳答案
我很好奇您是如何创建圆形 ImageView 的。你能分享那个 secret 吗?? 就创建圆形 Bitmap 而言,从要显示的位图创建一个 BitmapShader。然后创建一个 ShapeDrawable (Oval) 并将位图着色器分配给它。绘制可绘制对象。砰!圆形图像!
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);
关于android - 如何在圆形 ImageView 中设置位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882180/