by zhangxinxu 2009-08-22 1:53

flash与IE6下png背景透明

IE6下未透明处理图片
这里的png图片并没有接受任何透明处理,可以在IE6浏览器下看到透明部分显示为蓝蓝的背景色。
此图片属于对照图片,与下面的接受透明处理的图片做对比用,用于测试此透明插件的效用。
png图片直接嵌入flash中
这里png图片直接嵌在flash文件中,flash中没有任何代码,没有任何交互,就是放置了一张png的位图。唯一要做的操作就是设置flash背景透明。DreamWeaver cs4嵌入swf文件已经全部都是object标签了,所以只要将"wmode"的value值设为"transparent"就可以了。
flash与页面交互载入png图片
通过与页面交互,获得图片的路径,然后通过flash加载该图片,从而达到显示png图片的效果。由于flash对png的透明支持非常好,所以IE6下通过flash显示的png背景是不存在不透明的问题的。这里没有任何的JavaScript,所需要的就是用户安装的flash插件。这可能也是此方法为广泛使用的限制原因之一。
页面部分: <param name="FlashVars" value="name=/study/image/png_test.png" /> flash部分ActionScript代码: var varName:String; var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters; for (varName in paramObj) { myFlashVar = String(paramObj[varName]); } var myFlashVar:String; var url=myFlashVar; var myReq:URLRequest=new URLRequest(url); var pic:Loader=new Loader(); pic.load(myReq); addChild(pic);