如何找到Flash SWF文件的自然大小/尺寸?

时间:2009-12-02 15:10:32

标签: flash size aspect-ratio

我已经获得了一个Flash文件(.swf扩展名)以放入网页。在我的浏览器中打开文件会使它变得非常模糊,所以我假设文件的大小与图像相同。

它也是矩形的,所以如果我没有确切的尺寸,我需要计算出宽高比。我如何找到这些信息?

4 个答案:

答案 0 :(得分:22)

我想知道如何在昨晚自己拿到这个。在Google上没有找到任何内容,但后来我记得PHP的getimagesize适用于swf电影:

<?php
    $file = "YOUR_FILE.swf";
    $info = getimagesize($file);
    $width = $info[0];
    $height = $info[1];
    print "{$width}x{$height}\n";
?>

答案 1 :(得分:6)

经过多年的努力,我终于找到了一个可以完成一件事的小工具:显示flash文件的高度和宽度。我无法相信Adobe从未意识到了解闪存程序的大小非常重要。

在这里:https://github.com/q2apro/swfinfo/raw/master/swfinfo.swf

我找不到原始资料,如果您了解,请相信开发人员。感谢。

答案 2 :(得分:4)

我制作了脚本来检测远程swf的尺寸并打印文件的嵌入代码。

http://www.igrice-tigrice.com/flash-dimensions.php

答案 3 :(得分:0)

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)))