Как найти натуральный размер / размеры файла Flash SWF? - PullRequest
11 голосов
/ 02 декабря 2009

Мне дали файл Flash (расширение .swf) для размещения на веб-странице. Открытие файла в моем браузере делает его довольно размытым, поэтому я предполагаю, что для файла есть естественный размер, такой же, как у изображения.

Он также прямоугольный, поэтому мне нужно определить соотношение сторон, если у меня нет точного размера. Как бы я узнал эту информацию?

Ответы [ 4 ]

22 голосов
/ 02 декабря 2009

Мне было интересно, как получить это самому прошлой ночью.В Google ничего не нашел, но потом вспомнил, что PHP getimagesize работает с SWF-фильмами:

<?php
    $file = "YOUR_FILE.swf";
    $info = getimagesize($file);
    $width = $info[0];
    $height = $info[1];
    print "{$width}x{$height}\n";
?>
6 голосов
/ 16 мая 2014

Спустя годы я, наконец, нашел небольшой инструмент, который делает ровно одно: отображение высоты и ширины флеш-файла. Я не могу поверить, что Adobe никогда не осознавала, что важно знать размер флэш-программы.

Вот, пожалуйста, https://github.com/q2apro/swfinfo/raw/master/swfinfo.swf

Я не смог найти первоисточник, пожалуйста, укажите разработчика, если вы знаете о. Спасибо.

4 голосов
/ 13 сентября 2013

Я сделал скрипт для определения размеров удаленного SWF и распечатки кода вставки файла.

http://www.igrice -tigrice.com / флэш-dimensions.php

0 голосов
/ 26 июня 2019
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)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...