0

我想做一个蒙版,既可以将任何颜色转换为灰度,又可以降低它们的 alpha 值。预期目的是使蒙版区域处于灰度和较亮状态,以便未蒙版区域更加突出。我见过的大多数关于 alpha 值掩码的教程都太复杂了,并且使用了 Flash GUI。您如何在 ActionScript 中完成同样的事情?

更新:这是一个带图片的解释......

如果以下是我的图像:

在此处输入图像描述

然后,在某些选择上的传统掩码将产生以下结果:

在此处输入图像描述

相反,那些完全被掩盖的部分,我希望将它们转换为灰度:

在此处输入图像描述

并且它们的 alpha 值降低了,所以它们变亮了:

在此处输入图像描述

4

1 回答 1

0

我的建议:

  1. 创建一个您想要掩蔽为 BitmapData 对象的 Sprite / Movieclip 实例
  2. 创建一个应用于 Sprite 影片剪辑的 Mask 实例
  3. 创建一个类型为 BitmapData 类的 sprite/movieclip 原始实例的重复实例。您使用copyPixels方法复制它并确保它的宽度 + 高度相同。
  4. 创建原始的第三个实例,这一次应用了一个 alpha 属性,但它的可见属性设置为“无”。
  5. 在重复(第二个)实例上,您可以将此第三个实例作为 alpha 属性的源包含在 copyPixels 参数中
  6. ColorMatrixFilter应用于第二个实例以实现灰度。如果您不想使用第 5 步,它也接受 alpha 属性,但您的示例看起来 alpha 在所有地方都不相同,因此需要第 3 个实例

我希望这有帮助。如果您仍然不确定,请观看 Primer。

于 2011-07-10T05:17:11.937 回答