Java与JavaScript获取Flash文件高宽的方法
作者:清欢时间:2026-10-27 20:32:16浏览:484
本文介绍两种获取Flash文件高宽的方法。JavaScript可通过设置embed标签的width和height属性直接读取;Java则需解析SWF文件头,区分FWS与CWS类型,其中CWS需先解压,随后通过读取特定字节位计算宽高,公式为x/20和y/20像素。
JavaScript获取Flash宽高
JavaScript实现
通过设定embed元素的高度和宽度属性,可以直接读取Flash对象的高宽尺寸。
具体实现代码如下:
<!DOCTYPE HTML>
<html>
<body>
<embed src="test550X400.swf" id="flash" width="550px" height="400px"/>
<script type="text/javascript">
var flash = document.getElementById("flash");
alert("宽:"+flash.width+" 高:"+flash.height);
</script>
</body>
</html> Java解析Flash文件头获取宽高
Java实现
利用Java代码解析Flash文件头信息可以获取其尺寸。需要注意的是,Flash文件主要分为FWS和CWS两种类型。其中,CWS类型的数据部分是经过zlib压缩后的形式,因此在解析前必须先进行解压处理。
对于未压缩的FWS类型Flash文件,其文件头中直接包含尺寸信息,解析步骤如下:
文件的前三个字节用于标识Flash的类型(FWS或CWS);
第5、6、7、8字节表示该Flash文件的大小;
从第9个字节开始读取5 bits,将其值设为n;接着跳过n bits,再读取n bits,设值为x;随后再次跳过n bits,读取n bits,设值为y。Flash的宽度和高度分别等于x/20和y/20像素。
作者最新文章
JS转整数出现NaN怎么办?常见异常处理方案
2026-11-05 16:27:31
推荐几款免安装的在线JS压缩工具
2026-11-05 14:54:53
JS怎么使用JSON.stringify实现JSON格式化与缩进
2026-11-04 10:47:30
CodePen、JSFiddle 与 StackBlitz:主流 JS 在线编辑器对比
2026-11-03 21:07:49
JS字符串转数字后怎么正确判断是否为有效数值
2026-11-03 20:04:15
