3

我正在将一些图形绘制到画布中。该图形是形状、文本和位图的组合。我需要根据任意掩码设置这些命令的 alpha 级别。此掩码根据 x,y 位置为所有像素定义任意 alpha。

一个简单的例子:定义一个遮罩,上面的 1/4 区域是 80% alpha,下一个 1/4 是 60% alpha,下一个是 20% alpha,最后一个是 0% alpha。存在用于跨越所有 4 个 alpha 区域的线的绘图命令。生成的渲染应该是一条线,其顶部 1/4 为 80% alpha,下 1/4 为 60% alpha,依此类推。下面是此场景的粗略渲染。实际上,遮罩不需要那么简单,它可以为任何像素定义任何 alpha 值。

Android 提供了各种似乎与此相关的选项/参数,但我没有找到任何适合我的选项/参数。特别是 android.graphics.MaskFilter 看起来很有希望,因为它被描述为一种在绘制之前转换 alpha 通道的方法。但是,MaskFilter 不能被子类化,并且提供的实现不允许任意掩码。

在此处输入图像描述

4

0 回答 0