我有以下方法:
protected void onDraw(Canvas i_Canvas) {
int x = (int) m_X;
int y = (int) m_Y;
Path path = new Path();
path.addCircle(
m_Cx,
m_Cy,
m_Radius,
Path.Direction.CCW);
i_Canvas.clipPath(path);
Rect rect = new Rect(x, y, x + 240, y + 240);
i_Canvas.drawBitmap(m_FullImageBitmap, rect, rect, m_Paint);
}
使用它我试图创建一个圆形的一些位图的裁剪区域。
我还想模糊那个圆圈区域的边缘。例如:从边缘到形状中心的 5px 将被模糊。我该如何实现?
最佳答案
我认为您在绘制图像时必须应用 BlurMaskFilter:
m_Paint = new Paint(0);
m_Paint.setColor(0xffffffff);
m_Paint.setMaskFilter(new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL));
关于Android:如何使用 onDraw 方法模糊圆的边缘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12999037/