我得到了一个 Flash 文件(.swf
扩展名)来放入一个网页。在我的浏览器中打开文件会使它变得非常模糊,所以我假设文件有一个自然大小,与图像相同。
它也是矩形的,所以如果我没有确切的尺寸,我需要计算出纵横比。我怎样才能找到这些信息?
我得到了一个 Flash 文件(.swf
扩展名)来放入一个网页。在我的浏览器中打开文件会使它变得非常模糊,所以我假设文件有一个自然大小,与图像相同。
它也是矩形的,所以如果我没有确切的尺寸,我需要计算出纵横比。我怎样才能找到这些信息?
昨晚我想知道如何自己得到这个。在谷歌上没有找到任何东西,但后来我记得 PHPgetimagesize
在 swf 电影上的作品:
<?php
$file = "YOUR_FILE.swf";
$info = getimagesize($file);
$width = $info[0];
$height = $info[1];
print "{$width}x{$height}\n";
?>
多年后,我终于找到了一个小工具,它只做一件事:显示 Flash 文件的高度和宽度。我不敢相信 Adobe 从未意识到了解 Flash 程序的大小很重要。
给你:https ://github.com/q2apro/swfinfo/raw/master/swfinfo.swf
我找不到原始来源,如果您知道,请注明开发人员。谢谢。
我编写了脚本来检测远程 swf 的尺寸并打印文件的嵌入代码。
import zlib, lzma
def getswfdimension(fname):
with open(fname, 'rb') as f:
buf = f.read()
sig = buf[:3].decode('ascii')
d = None
if sig == 'FWS':
# uncompressed
d = buf[8:]
elif sig == 'CWS':
d = zlib.decompress(buf[8:])
elif sig == 'ZWS':
d = lzma.decompress(buf[8:])
if not d:
print('unknown file format')
return
nbits = d[0]>>3
bstr=''
for i in range(32):
bstr += '{:08b}'.format(d[i])
bstr = bstr[5:]
w = int( bstr[ nbits : 2*nbits], 2) # width in twips
h = int (bstr[3*nbits: 4*nbits], 2)
# width x height in pixel
print("{} {} x {}".format(fname, int(w/20), int(h/20)))