年齢のせいか、このところ集中力が落ちてきました。特にファミレスで考え事をする際に、周囲のノイズが気になってしかたありません。
そんなワケで、耳栓を購入したところ、じつに快適。ノイズが完全にカットされ、集中して本が読めました。すぐ後ろで流血の乱闘騒ぎがあったのにもほとんど気がつきません。・・・あやうく巻き込まれて怪我するところでした。
年齢のせいか、このところ集中力が落ちてきました。特にファミレスで考え事をする際に、周囲のノイズが気になってしかたありません。
そんなワケで、耳栓を購入したところ、じつに快適。ノイズが完全にカットされ、集中して本が読めました。すぐ後ろで流血の乱闘騒ぎがあったのにもほとんど気がつきません。・・・あやうく巻き込まれて怪我するところでした。
ウェブテクノロジ開発部の西田です。
この記事では、主にモバイル機器向けFlashコンテンツを開発されている方々に向けて、Flash Playerでのメモリ使用量とSWFファイルのファイルサイズを抑える方法についてご紹介します。
同時に、Flashコンテンツに画像を組み込む際の注意点についても紹介します。
現在、日本で普及しているほとんどのフィーチャーフォン(いわゆるガラケー)にはFlash Liteが搭載されており、Androidでも2.2以降からはFlashが搭載されています。ソーシャルゲームをはじめ、グラフィカルでリッチなFlashコンテンツが日々増えてきていますが、それにともないSWFファイルのファイルサイズやFlash Playerのメモリ使用量が問題になってくることがしばしばあるのではないでしょうか。
まずは同じくらいのファイルサイズの画像(JPEG、PNG)を組み込んだSWFファイルを作成し、SWFファイルのファイルサイズとFlash Player(エミュレーター)のメモリ使用量にどれくらいの違いが出るかを比較してみました。
※画像はクリック・タップすると拡大されます。
表1. JPEG/PNGのメモリ使用量・SWFファイルサイズの比較
フォーマット | JPEG | PNG-8(透過なし) | PNG-8(透過あり) |
---|---|---|---|
画像サイズ | 512×512pixel | 512×512pixel | 512×512pixel |
画像ファイルサイズ | 50,843 byte | 51,503 byte | 51,771 byte |
SWFファイルサイズ | 50,937 byte | 49,743 byte | 49,933 byte |
メモリ使用量 | 1,202KB | 388 KB | 388 KB |
図1. JPEG/PNGのメモリ使用量・SWFファイルサイズの比較グラフ
同程度のファイルサイズの画像を使用しても、PNGでは劇的にメモリ使用量が抑えられていることがわかります。
だったらすべての画像をPNGにすればいいの? というとそういうわけにもいきません。
では、どのような場合にPNGを使えば良いのかを考えていきましょう。
Flashやインターネットなどでは主にJPEG、GIF、PNGといった画像フォーマットが使われています。
ここでは、それぞれの画像フォーマットについておさらいをしておきましょう。
表2. JPEG、GIF、PNGの特徴
JPEG |
GIF |
PNG-8 |
PNG-24 |
PNG-32 |
|
---|---|---|---|---|---|
圧縮方式 |
不可逆圧縮 |
可逆圧縮 |
可逆圧縮 |
可逆圧縮 |
可逆圧縮 |
色数 |
1677万色 |
1677万色中 |
1677万色中 |
1677万色 |
1677万色 |
透過 |
不可 |
可能 |
可能 |
不可 |
可能 |
アニメーション |
不可 |
可能 |
不可 |
不可 |
不可 |
それぞれの画像フォーマットの長所と短所も簡単にまとめておきましょう。
表3. JPEG、GIF、PNGの長所と短所
JPEG | 長所 | – 写真画像の圧縮に向いている – 圧縮率が可変なので、低圧縮(高画質)から高圧縮(低画質)まで、用途によって選べる |
---|---|---|
短所 | – 線画、アニメ調、ロゴ、画面キャプチャのような画像の圧縮には向いていない – 非可逆圧縮のため、圧縮率を高くすると画質が劣化する – 透過やアニメーションはできない – 画像をメモリに展開したとき、1ピクセルあたり3バイト使用する(メモリ使用量大) |
|
GIF | 長所 | – 線画、アニメ調、ロゴ、画面キャプチャのような画像の圧縮に向いている – アニメーションができる – 透明色が使える – 画像をメモリに展開したとき、1ピクセルあたり1バイト使用する(メモリ使用量小) |
短所 | – 256色までしか表現できない | |
PNG | 長所 | – 線画、アニメ調、ロゴ、画面キャプチャのような画像の圧縮に向いている – PNG-24/32(フルカラー)では、圧縮しても画像が劣化しない – PNG-8(インデックスカラー…256色、16色など)にもPNG-24/32(フルカラー)にも対応できる(インデックスカラーに減色する際の品質によって結果が大きく左右されますが、「OPTPiX imésta」を使えば高品質の減色が可能です) – アルファチャンネルを持つことができ、半透明の表現が可能 – PNG-8(インデックスカラー)の場合、画像をメモリに展開したとき、1ピクセルあたり1バイト使用する(メモリ使用量小) |
短所 | – PNG-24/32(フルカラー)ではJPEGよりもファイルサイズが大きくなる – PNG-24/32(フルカラー)の場合、画像をメモリに展開したとき、1ピクセルあたり3バイト/4バイト使用する(メモリ使用量大) – アニメーションできない |
一般的には、写真などはJPEG、画像自体でアニメーションさせたいときはGIF、ロゴやボタンなどはGIFかPNGフォーマットが適しています。
それぞれの画像フォーマットには得意・不得意があるので、画像の使用用途や目的に応じて適切な画像フォーマットを選択する必要があります。
実際にFlash内に画像を組み込み、SWFファイルのメモリ使用量とファイルサイズを見てみましょう。
表4. 各画像フォーマット毎のSWFファイルサイズ・メモリ使用量の比較
![]() |
![]() |
||
フォーマット | JPEG(画質 70) | フォーマット | GIF |
画像サイズ | 512×512pixel | 画像サイズ | 512×512pixel |
画像ファイルサイズ | 23,455 byte | 画像ファイルサイズ | 55,901 byte |
SWFファイルサイズ | 23,549 byte | SWFファイルサイズ | 49,743 byte |
メモリ使用量 | 1,129KB | メモリ使用量 | 388 KB |
![]() |
![]() |
||
フォーマット | PNG-24 | フォーマット | PNG-8 |
画像サイズ | 512×512pixel | 画像サイズ | 512×512pixel |
画像ファイルサイズ | 142,427 byte | 画像ファイルサイズ | 51,503 byte |
SWFファイルサイズ | 165,015 byte | SWFファイルサイズ | 49,743 byte |
メモリ使用量 | 1,267KB | メモリ使用量 | 388 KB |
画素数が大きくフルカラーで扱いたい画像の場合は、圧縮率を調整できるJPEGを使うとSWFファイルのサイズを抑えることができます。しかしながら、アニメ調の画像では、やはり画質が劣化してしまいメモリ使用量も大きくなります。
フルカラーにこだわらなくてもよい場合は、GIFかPNG-8を使えばメモリ使用量とSWFファイルサイズを抑えることができます。ただし、この場合は減色する際の品質が重要となってきます。「OPTPiX imésta」を使えば高い品質で減色することが可能です。
また、GIFでは単色での透過しかできずFlash内でそのままGIFアニメーションを使うこともできないため、色数を256色まで制限できる場合は、メモリ使用量とSWFファイルサイズを抑え、綺麗に透過させるにはPNG-8が有効です。
画像フォーマットや画質を適切に選択していても、Adobe Flash CSにPNGやGIFなどの画像を組み込んだ際に、自動的にJPEG圧縮されてしまうことがあります。ついつい陥りやすい問題ですので注意が必要です。
Adobe Flash CSの「ライブラリ」からアイテムを選択し画像のプロパティを確認してみましょう。
大きな画像の場合、圧縮の項目が「写真画質(JPEG)」に設定されることがあります。
この場合、PNGやGIFを組み込もうとしてもJPEG圧縮されてしまい、画質が劣化した画像が表示されてしまいます。
せっかくターゲットに合わせて調整した綺麗な画像が、いつの間にか劣化して表示されてしまうということは不本意です。しかも、メモリ使用量も増加してしまいます。
圧縮の項目を「劣化なし(PNG/GIF)」とした場合、PNGやGIFはJPEG圧縮されなくなり、ターゲットに合わせて調整した画像が意図通りに表示されるようになります。また、メモリ使用量も前述した通りに抑えることができます。
表5. 圧縮設定によるメモリ使用量SWFファイルサイズの比較
元画像のフォーマット | PNG-8 | PNG-8 |
元画像ファイルサイズ | 51,503 byte | 51,503 byte |
画像サイズ | 512×512pixel | 512×512pixel |
圧縮設定 | 写真画質(JPEG) | 劣化なし(PNG/GIF) |
SWFファイルサイズ | 29,899 byte | 49,743 byte |
メモリ使用量 | 1,140 KB | 388 KB |
Adobeがモバイルブラウザー向けFlash Playerの開発を終了する、との報道もあり今後の動向が気になるところですが、実際のところ、まだフィーチャーフォンは多く使われており、Android機でもFlash Playerを搭載している機種がほとんどです。コンテンツを提供する業界でも、フィーチャーフォンユーザー向けのコンテンツを充実させる方向で進んでいるようです。
今回ご紹介した方法を参考に、軽くて快適なFlashコンテンツ作成の一助になれば幸いです。
こんにちは、ソリューション営業部の嶋です。
一昨年くらいからでしょうか、日本にもソーシャルネットワーキングサービスの波が怒涛のように押し寄せてきました。少し前なら「ちょっとネットに詳しい人がやっているサービス」だったTwitterやFacebookが、あっというまに「隣の席の彼もやっているサービス」に変わりました。情報は検索して自分で見つける時代から、ソーシャルネットワーク上のものを拾っていく時代へと変化してきています。
ウェブテクノロジでも、漫画作成ソフトコミPo! の方で公式Twitterや公式Facebookのページを運用してきましたが、2012年からはウェブテクノロジ本体の方でもFacebookページを開設することになりました。また、Facebookだけでなく、昨年6月からスタートしたGoogle+でも同様にページを開設いたしました。
できたばかりのページでコンテンツなども「これから」という部分が多々ありますが、OPTPiX imestaシリーズやSpriteStudioなどの弊社製品の情報の発信、そしてユーザーの皆様のご意見やご要望をいただく交流の場として、積極的に活用していきたいと考えております。
ぜひ、Facebookには「いいね!」を、Google+には「+1」をお願いいたします。
あけましておめでとうございます。コミPo! 製作委員会の田中圭一です。
本年も、ウェブテクノロジの製品を、コミPo! も含めよろしくお願いいたします。
さて、2012年、ウェブテクノロジの年賀状には、かわいらしい龍のイラストが描かれています。すでにご覧頂いている方もいらっしゃるかも知れません。
この龍は、コミPo! 専用の3Dモデルデータです。コミPo! ユーザー向けに無償で配布される「コミPo! 応援隊アイテム」のひとつで、年賀状に使えるようにと用意された「干支モデル」です。
2010年末にも2011年の干支「卯」を配布し、その何とも言えないかわいさからご好評を頂きました。そして昨年、今年の干支モデルとして「龍」を準備することになった際に「いままでの干支モデルとはひと味違うものにしたい。」という意見がスタッフから出ました。
ちなみに、一昨年の「卯」のモデルを作成していただいたのは、株式会社ビサイドさん。あの「どこでもいっしょ」のトロたちの会社です。
そこで、今回の干支「辰」もビサイドさんにお願いしよう、それもモデリングだけではなくデザインやネーミングも!ということになりました。
こういった経緯で誕生したのが年賀状の龍のモデルです。ビサイドさん独特の、愛らしく親しみやすいデザインの龍は、ビサイドさんの社長、南治一徳さんより「たつのすけ」と命名されました。ありがとうございました。
さらに当社メンバーで、「たつのすけ」のプロフィールを設定して、キャラクターとして多くのユーザーの皆様に親しんでもらおうと考えています。特技や苦手なもの、好きな食べ物はうまい棒の***味だそうです。
たつのすけのキャラクター設定と、ビサイドさんによる開発秘話についてはコミPo! 公式ブログをご覧ください。
あけましておめでとうございます。
ウェブテクノロジ代表の小高です。
年々、世の中の変化が加速しているように感じています。
そのような環境においても、ウェブテクノロジは変化する時代のニーズに応え、デジタルコンテンツ制作者を支援するため、高品質化と制作効率向上のためのソリューションを提供してまいります。
2012年は、PlayStation® Vita、Nintendo® 3DS 向けツールはもちろんのこと、スマートフォン、ソーシャル系アプリ、そして電子書籍制作者向けソリューションに注力します。
弊社既成ソリューションのカスタマイズを発展させた、提案型の受託開発も強化していきます。
本年も、日々の業務を通じ、微力ながらもよりよい社会を創るために価値を提供し続けてまいります。
株式会社ウェブテクノロジ
株式会社ウェブテクノロジ・コム
代表取締役 小高輝真