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

如何找到Flash SWF文件的自然大小/尺寸?,flash,size,aspect-ratio,Flash,Size,Aspect Ratio,我得到了一个Flash文件(.swf扩展名)放在一个网页上。在我的浏览器中打开文件会使其变得非常模糊,因此我假设文件有一个自然大小,与图像相同 它也是长方形的,所以如果没有精确的尺寸,我需要计算长宽比。我怎样才能找到这些信息呢?昨晚我想知道自己是如何得到这些信息的。在google上找不到任何东西,但我记得PHP的getimagesize适用于swf电影: <?php $file = "YOUR_FILE.swf"; $info = getimagesize($file);

我得到了一个Flash文件(
.swf
扩展名)放在一个网页上。在我的浏览器中打开文件会使其变得非常模糊,因此我假设文件有一个自然大小,与图像相同


它也是长方形的,所以如果没有精确的尺寸,我需要计算长宽比。我怎样才能找到这些信息呢?

昨晚我想知道自己是如何得到这些信息的。在google上找不到任何东西,但我记得PHP的
getimagesize
适用于swf电影:

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

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


几年后,我终于找到了一个小工具,它只做一件事:显示flash文件的高度和宽度。我不敢相信Adobe从未意识到了解flash程序的大小很重要

给你:


我找不到原始的来源,请信贷开发商,如果你知道。谢谢。

在嵌入之前你需要知道这个吗?它对我不起作用。我想它只对某个版本的FLA有效。我发现这门课在某种程度上很有用:
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)))