回答
PhotonStorm有一个implementation这个,你可以挖掘并找出他们是如何做到的。
对于3年后降级的人,请添加评论,以了解我的答案出了什么问题,以便我可以改进它。或者更好;你可以编辑它来更加正确,或者给出更好的答案。 – 2015-05-01 22:42:50
即使在三年前,这应该不是一个答案,它应该是一个评论。因此,另一个downvote。 – 2015-05-26 21:21:36
我认为,通过动态PNG,您只是指在运行时已由代码加载的代码。没有什么特别的,对于导入为位图的任何库对象都适用同样的答案,然后设置为使用无损压缩。
为了做到这一点,要用作掩码的png必须嵌入DisplayObject(通常是Sprite,MovieClip或甚至是Loader)中。 DisplayObject类具有cacheAsBitmap属性,并且您需要将该属性设置为true,以使持有遮罩的DisplayObject和持有要遮罩的内容的DisplayObject都为true。然后通过代码分配掩码以让掩码显示内容。
例子:
//myClip is the MovieClip or Sprite or even Loader holding the content
myClip.cacheAsBitmap=true;
//myMask is a MovieClip or Sprite or even Loader containing the transparent PNG
myMask.cacheAsBitmap=true;
//set up the mask to reveal the content where the PNG is not transparent
myClip.mask=maskClip;
- 1. 掩蔽和切割透明图像
- 2. Android使用透明png掩盖位图
- 3. Winforms半透明PNG半透明PNG
- 4. 缩放,掩蔽,不透明度在d3.js
- 5. 透明PNG在LWJGL中不透明
- 6. PNG透明度
- 7. GD透明PNG
- 8. 掩蔽的UIView /的UIImageView到切口透明文本
- 9. CSS3透明掩模
- 10. 掩蔽在python
- 11. jQuery PNG透明MouseHover
- 12. 透明PNG imagemagick passthru
- 13. 使PNG透明 - PHP
- 14. 透明.png背景
- 15. 透明PNG黑色
- 16. 透明PNG到TBitmap32
- 17. 的BufferedImage透明PNG
- 18. 透明PNG在IE6(AlphaImageLoader)
- 19. Android透明PNG不显示为透明
- 20. 透明PNG不呈现为透明?
- 21. 掩蔽在OpenCV中
- 22. 在SVG中掩蔽?
- 23. AS3透明背景
- 24. 关于掩蔽比特的说明
- 25. 掩蔽keras BLSTM
- 26. 掩蔽NsImageView
- 27. 掩蔽影像
- 28. Python的掩蔽
- 29. BezierPath和掩蔽
- 30. 顺差是透明,同时使用PNG透明和不透明
我知道一个不容易的办法,但在动画它会杀死CPU。您可以将遮罩目标绘制为位图,然后从png中检查哪些像素是透明的以将其从目标中擦除。 – turbosqel 2012-02-07 18:35:51
动态的,你的意思是tranparent PNG会像动画一样变化,还是动态的,它可能是多个PNG中的一个被使用? – 2012-02-08 13:43:50