如何查找Flash SWF文件的自然尺寸/尺寸?

15

我得到了一个Flash文件(扩展名为.swf),需要将其放入网页中。在浏览器中打开该文件时,它变得很模糊,因此我认为文件应该有一个自然大小,与图像相同。

它也是矩形的,所以如果我没有确切的大小,我需要确定其长宽比。我该如何找到这些信息?


在嵌入之前,您需要了解这个吗? - prodigitalson
对我来说它没有起作用。我猜它只适用于某个版本的FLA。 我发现这个类在某种程度上很有用: http://www.phpclasses.org/package/1653-PHP-Parse-header-of-Flash-files-to-extract-metadata.html - arakno
4个回答

24

昨晚我想知道如何获取这个。在Google上找不到任何有用的信息,但我想起了PHP的getimagesize可以用于swf电影:

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

7
多年以来,我终于找到了一个小工具,它只有一个功能:显示Flash文件的高度和宽度。我无法相信Adobe从未意识到知道Flash程序的大小是多么重要。
这里是下载链接:https://github.com/q2apro/swfinfo/raw/master/swfinfo.swf 我找不到原始来源,请在您知道的情况下为开发人员署名。谢谢。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接