Shut the fuck up and write some code

グダグダ言わずにコードを書きたいブログ

モバイルデバイスでの Flash Lite のビットマップ画像とベクトル画像

仕事場にて未だに「Flashの中の画像が赤で潰れるんですけど」という質問が来るのでFlashliteの画像関係を改めて復習。

↓下記参照
http://livedocs.adobe.com/flash/9.0_jp/UsingFlash/help.html?content=WS53478342-E26B-4535-976B-8A8DC2B43672.html

■ベクトル

  • ファイルサイズとメモリ使用量が減る
  • 拡大しても滑らかな形状が維持される
  • レンダリングに処理能力が掛かる。

■ビットマップ

  • ファイルサイズとメモリ使用量が増えやすい
  • 拡大すると荒くなり角張って見える。
  • ベクターよりレンダリングに処理能力が掛からない(矩形の四点だけだから)


以下TIPS

  • 一般的な方法として、小さく複雑な画像(アイコンなど)にはビットマップを使用し、大きく単純な画像にはベクトル画像を使用します。
  • Flash Lite Player はビットマップのスムース処理をサポートしていません。 ビットマップを拡大縮小または回転すると、見た目がギザギザになります。 画像の拡大縮小または回転が必要な場合、ベクトル画像の使用を検討してください。
  • PNG ファイルでは透過の使用を最小限に抑えてください。Flash はビットマップの透過部分でも再描画の計算を行うためです。例えば、前面の要素に透過 PNG ファイルがある場合、全画面にわたる透過 PNG は書き出ししないでください。前面の要素の実際のサイズで書き出しするようにします。
  • ビットマップレイヤー同士、そしてベクトルレイヤー同士をグループ化します。 Flash では、ビットマップコンテンツとベクトルコンテンツには異なるレンダリング機能が使用されるため、機能の切り替えに時間がかかります。


容量は100k以内に収まっているけれどもbitmap画像が表示されないケースが多いのでその対応としては

  • 画像の使用量を減らす
  • 透過GIF/PNGの透過部分を小さくする。
  • JPGはやめる(画像の圧縮形式をロスレスにする)

基本的に軽量化で制作しないとダメですね。写真素材などを必死に減色させて容量も収まっているのに、メモリが小さい端末だと全然表示されなくて仕様変更せざる得ないケースは結構あります。背景画像もビットマップ画像を昼と夜を着色で塗り分けて出してみたり、超必死に作ってます。

今の端末はメモリ容量2M前後はデフォルトで確保されると思うのでそれほど労するところは無いかも知れませんが、一昔、二昔前のロースペック端末の存在は注意しないと。端末スペックなんぞに気にせず作れる日はくるのだろうか?企画の人間が端末スペックを理解してコンテンツ作るようにすればいいだけの話ではあるんですけどね…。