我该如何在Android中给图片加上圆角?

iamkoa:

我想将加载的图像更改为圆角。

您知道任何提示,教程和最佳做法吗?

Ralphleon:

对于更受控的方法,请绘制一个圆角矩形,并使用油漆的波特Xfer Xfer模式将其蒙版到图像上。

首先设置Xfer绘画和圆角位图:

Bitmap myCoolBitmap = ... ; // <-- Your bitmap you want rounded    
int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight();

// We have to make sure our rounded corners have an alpha channel in most cases
Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(rounder);    

// We're going to apply this paint eventually using a porter-duff xfer mode.
// This will allow us to only overwrite certain pixels. RED is arbitrary. This
// could be any color that was fully opaque (alpha = 255)
Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
xferPaint.setColor(Color.RED);

// We're just reusing xferPaint to paint a normal looking rounded box, the 20.f
// is the amount we're rounding by.
canvas.drawRoundRect(new RectF(0,0,w,h), 20.0f, 20.0f, xferPaint);     

// Now we apply the 'magic sauce' to the paint  
xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));

现在将此位图应用到图像的顶部:

Bitmap result = Bitmap.createBitmap(myCoolBitmap.getWidth(), myCoolBitmap.getHeight() ,Bitmap.Config.ARGB_8888);
Canvas resultCanvas = new Canvas(result)
resultCanvas.drawBitmap(myCoolBitmap, 0, 0, null);
resultCanvas.drawBitmap(rounder, 0, 0, xferPaint);

现在,具有圆角的位图位于结果中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我该如何在图标周围加上边框?(HTML / CSS)

如何在Android中创建带有圆角的ListView?

如何在Android UI中绘制圆角矩形?

如何在Android drawable中为环形制作圆角

如何在android中制作带有圆角的EditText组件

如何在Android Kotlin中基于圆角将圆角应用于视图

在Android中我如何移动图片?

我该如何在C中相乘?

如何在Android中创建图片按钮?

如何在Android中显示图片视图?

如何在Swift中创建圆形轮廓图片或带有不漏水边框的圆角图像?

如何在半圆SVG中创建圆角

如何在Java中制作圆角图像

如何在svg中创建圆角

如何在gridview中实现圆角

如何在该网页上保存图片?

我该如何在Android数据绑定中绑定并调用`函数类型`?

我该如何在Android中制作如下图所示的菜单

我该如何在我的svg图像中添加颜色

如何在列的每个单元格的值上加上28?该列每个单元格中的值是日期

我们如何在 Flutter 中的 TextForm 上添加上标或下标字符串?

如何在Android中以编程方式在圆角的imageview中设置自定义背景色

我该如何在Android上更改可见的relativelayout?

我在Android中具有XML解析响应,我如何在该xml响应上实现JSON解析,这是可能的?

如何在Android中制作带有圆角的自定义对话框

如何在Android XML可绘制对象中绘制带有圆角的线

我如何圆角 UIBezierPath?

我如何在该程序中退出循环

我该如何在seaborn中显示正确的计数值?