利用blendMode实现 Alpaha 通道遮罩

http://chaimzane.iteye.com/blog/259101


当本身或父容器的cacheAsBitmap  = true 时,就会对,该对象的matrix 产生扰乱,就是取值设置不准确,这是    flash的bug   http://bugs.adobe.com/jira/browse/FP-121。

什么东西呢,就是
      
        A:   mask.png                   B:   frame.png                               C:    Image.*
       
利用blendMode实现 Alpaha 通道遮罩_第1张图片

利用blendMode实现 Alpaha 通道遮罩_第2张图片

利用blendMode实现 Alpaha 通道遮罩_第3张图片

                  



几张图要实现这样的效果

利用blendMode实现 Alpaha 通道遮罩_第4张图片




自然就想到了用 flash的遮罩来实现。哦对了,其中mask.png还要做下补色,然后对frame.png和Image.*组成的图
进行apha遮罩,但是这样做会有个问题因为,对Image.*的操作是基于 matrix的,而alpha遮罩是要设置cacheAsBitmap = true 的,但是这样做会有我一开始提到的那个问题,虽然http://www.sephiroth.it/weblog/a ... heasbitmap_hell.php上面给出了解决办法,但是我发现还是没有根本解决问题。怎么办勒,终于被我发现另外一种实现alpha通道遮罩的办法,而不用设置cacheAsBitmap=true,那就是用blendMode。将父层的blend设置为
BlendMode.LAYER,在将mask层放在被遮罩层上并设置blend = BlendMode.ALPHA,嘿嘿,一切都解决啦。

你可能感兴趣的:(PHP,Flash,Adobe,FP,Blend)