.swf
Webページに配置するためのFlashファイル(拡張子)が与えられました。ブラウザでファイルを開くとかなりぼやけてしまうので、画像と同じようにファイルには自然なサイズがあると思います。
長方形でもあるので、正確なサイズがわからない場合はアスペクト比を計算する必要があります。この情報をどのように見つけることができますか?
.swf
Webページに配置するためのFlashファイル(拡張子)が与えられました。ブラウザでファイルを開くとかなりぼやけてしまうので、画像と同じようにファイルには自然なサイズがあると思います。
長方形でもあるので、正確なサイズがわからない場合はアスペクト比を計算する必要があります。この情報をどのように見つけることができますか?
昨夜、どうやってこれを自分で手に入れるのかと思っていました。getimagesize
グーグルで何も見つかりませんでしたが、PHPがswfムービーで動作することを思い出しました。
<?php
$file = "YOUR_FILE.swf";
$info = getimagesize($file);
$width = $info[0];
$height = $info[1];
print "{$width}x{$height}\n";
?>
数年後、私はついに、フラッシュファイルの高さと幅を表示するという1つのことを実行する小さなツールを見つけました。アドビがフラッシュプログラムのサイズを知ることが重要であることに気づかなかったとは信じられません。
ここに行きます: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)))