我们有一个独立的产品(不是基于浏览器的),它的一些gui使用Flash。我们让flash渲染到一个无窗口控件,然后使用该位图作为3D纹理,然后通过directx
显示。我们传统上利用了"渲染黑色,然后渲染白色,然后痛苦地从flash电影中提取alpha信息",因为我们需要从电影中获得完整的alpha。
从flash 11开始,无论我们预先填充位图到什么(我们使用wmode=transparent), flash现在用黑色覆盖,防止我们提取alpha并在任何地方留下难看的黑色轮廓。
如果Flash wmode=transparent重新开始工作,那就太棒了,如果我们可以使用wmode=window,让Flash直接为我们的目标渲染位图提供alpha,那就更棒了。
对flash更好,对我们更好。但据我所知,Draw()方法只渲染RGB而不渲染RGBA
似乎f-in-box也有同样的问题,但似乎他们已经解决了。这里有一个客户写了关于"黑色背景"的问题:http://f-in-box.com/forum/viewtopic.php?t=873。一段时间后,新的更新发布,它修复:http://f-in-box.com/forum/viewtopic.php?t=891
希望能有所帮助。