- Flash SWF バイナリ内の画像は JPEG 形式で格納される。フォーマットは3種類(タグで区別可能)。
- DefineBitsJPEG は、JPEG 形式がそのまま入るか、又は、JPEG 形式のうち圧縮テーブルのセグメントを、別タグ(JPEGTables)のブロックに入れて、それを参照する。
- 尚、JPEGTables は SWF ファイル内に1つしか置けないので、圧縮テーブルのセグメントを抜いた DefineBitsJPEG(2,3 も同様)は全て一つの JPEGTables を参照する事になる。
- DefineBitsJPEG2,3 は以下の二択。参考
- 圧縮テーブルを別タグ(JPEGTables)のブロックに入れて、複数の DefineBitsJPEG2,3 で使いまわす。(DefineBitsJPEG と同じ)
- DefineBitsJPEG2,3 タグ内ではあるが、前半に圧縮テーブルを持ってきて、後半にそれ以外のセグメントを置く。
- この後者の方法を取った場合、SOI, EOI マーカーが2つずつ含まれる、妙な JPEG に見える。
- DefineBitsJPEG3 は更に、alpha channel(透明度)データが後ろに付く。
- マスクデータを指定してスプライト表示のように使う事が多い。(参考)
- その結果、特殊に見える JPEG の説明はこちら。↓ (本家のサイトはアクセスできなくなっているので、cache 参考の事)
調べる事になったきっかけ
関連
|