android - 具有淡出效果的填充路径和绘图路径

标签 android canvas

我用

绘制了一条填充路径( shape )
canvas.drawPath(mypath, paint);

这很好用。现在我的问题: 我想要一种特殊效果,即颜色的不透明度降低到路径的边界(形状)。因此,在形状的中心,不透明度将为 100%,而到边界,颜色会淡出为 0%(0 不透明度)

有没有人可以提示我如何执行此操作?

最佳答案

除非路径是简单的类似椭圆的形状(在这种情况下,您可以使用 RadialGradient 填充它),否则这是不可行的。

另一种选择是像这样为绘画设置一个内部模糊 MaskFilter:

float blurRadius = 10;
paint.setMaskFilter(new BlurMaskFilter(blurRadius,
                                       BlurMaskFilter.Blur.NORMAL));

在模糊的情况下,结果也高度依赖于路径形状。

关于android - 具有淡出效果的填充路径和绘图路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12637575/

相关文章:

android - 如何保护 android Assets 文件夹免受黑客攻击

java - android开机时如何启动activity?

android - CoordinatorLayout + TabView + AnimateView(自上而下)

javascript - 如何使用 HTML5 canvas 生成彩虹圈?

Android Proguard 文本编码问题

android - 如何在 android 中单击按钮时滚动 Horizo​​ntalScrollView?

canvas - Kivy-如何使我的 Canvas 高度小于父级高度

javascript - 如何在 Canvas 中拖动图像/对象?

javascript - 检测到 Canvas 元素在 Canvas 边界之外

javascript - CreateJS 缓存对象 - 对象现在不会在舞台上设置动画