android - 如何在圆形 ImageView 中设置位图?

标签 android

我有 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/

相关文章:

android - Room SQL 自动生成主键返回 0 或 null

android - 在 Android 市场(谷歌)中升级应用程序

android - 无法通过从 Android 浏览器调用 URL 来启动应用程序

java - Android:以编程方式备份​​消息和文件

java - 在屏幕中将耗时显示为 Score java libgdx

android - 使用 Activity 类对象创建 Activity 实例

java - MediaCodec H264 编码器不适用于 Snapdragon 800 设备

java - 调整图像大小以适应多种屏幕尺寸

Android Studio - 无法打开调试器端口 : java. io.IOException

android - css :focus not working in iOS Safari/Chrome, 在 Android/PC Chrome 上正常