banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

在flash控件中设置使用透明背景播放影片

网页或者在 window form 中插入 flash 影片形成动态效果是很常用的动态效果显示方式,但是如果网页或者 form 是分层显示的结构,怎样才能发 flash 的背景呢?

今天 CG 解决一个小问题,关于控制 flash 影片在容器中播放时的背景透明显示问题,相信大家在做网页或者做 winform 的时候肯定遇到过,大家不需要刻意去修改 flash 影片的背景为透明因为设置透明的话在 flash 控件中显示效果是一样的,这里告诉大家一个方法设置 flash 容器(控件)的 Wmode 属性即可
下面是 Wmode 的三种不同参数:

  1. Window: 默认的使用模式,也是 adobe 官方手册中说明渲染速度最快的模式,但是这种
    模式使用的是独立于容器的显示方式,即窗体 window 方式,使用类似我们习惯的窗体的作为
    独立的打开方式,因此这样的模式下,flash 影片实质上是一个可以独立控制的 flash 播放窗体
    ,而且默认的背景使用的是不透明,这就是为什么容器显示的时候是分离的状态,这个窗体由
    操作系统管理
  2. Opaque: 这是一种与 window 对应的无窗体模式,通常接受所在 DOM 管理,WEB 中通常
    可以当一个 DIV 层来使用,使用也很灵活,不过这种模式使用的是绝对定位,一般是用嵌套
    方式来控制显示位置,从而保证显示位置正确,通常在 web 中使用的比较多
  3. Transparent: 这是解决问题的模式,是一种特别的显示模式,即背景透明,而且是无视
    原本的 flash 动画的背景设置,用于在多层显示效果中使用,不过这种模式官方说明是渲染
    速度最慢的模式,是一种特殊的 Opaque 模式,而且要求的 flash 版本较高,大家使用的时
    候要注意。

使用方法:
WinForm:直接在 AXShockWaveFile 控件的 Wmode 属性中设置相应的模式字符串即可,
如果大家用的 VC++ 的话,建议使用控件的 setWmode 方法即可,所有的编程语言都支持
此方法

web:如果使用的是 object 显示方法的话可以再显示参数中添加一个参数即可,参数如下

如果使用的embed方法的话,可以考虑在调用的参数中增加wmode参数即可在调用

两种方法代码如下

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。