Actionscript中的灰度和Alpha蒙版

时间:2011-07-09 23:01:36

标签: flash actionscript-3 masking

我想制作一个可以将任何颜色转换为灰度然后降低其alpha值的蒙版。预期目的是使掩模区域处于灰度级并且更亮,使得未掩蔽区域更加突出。我见过的关于alpha值掩码的大多数教程都太复杂了,并且使用了Flash GUI。你如何在ActionScript中完成同样的事情?

更新:以下是对图片的解释......

如果以下是我的图片:

enter image description here

然后,某些选择的传统掩码将产生以下内容:

enter image description here

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

enter image description here

他们的alpha值下降,所以他们被减轻了:

enter image description here

1 个答案:

答案 0 :(得分:0)

我的建议:

  1. 创建一个想要作为BitmapData对象进行遮罩的Sprite / Movieclip实例
  2. 创建应用于Sprite Movieclip的Mask实例
  3. 创建一个类型为BitmapData类的sprite / movieclip原始的重复实例。您可以使用copyPixels方法复制它,并确保它的宽度和高度相同。
  4. 创建原始的第3个实例,这次应用了alpha属性,但它的visible属性设置为“none”。
  5. 在复制(第二个)实例上,您可以将此第3个实例包含为copyPixels参数中的alpha属性的来源
  6. ColorMatrixFilter应用于第二个实例以获得灰度。如果你不想使用第5步,它也接受alpha属性,但你的例子看起来像alpha在各地都不一样,因此需要第3个实例
  7. 我希望这会有所帮助。如果你仍然不确定,那就看看Primer。

相关问题