株式会社ICSAPNG168173634APNG(エーピング)とはアニメーションするPNG画像のことで、アニメーションGIFに取って代わる次世代の新しい画像形式です。ブラウザベンダーのMozillaが提案した規格で、Webサイトでのアニメーション表現に利用できます。従来はアニメーションGIFが主流でしたが、アニメーションGIFは色数の制限や輪郭のジャギーなど品質面の制限が多いファイルフォーマットです。その制限を払拭してくれると期待されるのがAPNG形式です。※汎用的なAPNGの作り方については、記事「アニメーションを劣化なく保存できる画像形式APNGの作り方」で解説してます。APNGファイルの作り方を徹底解説」で解説してます。上図ではアニメーションGIF・APNG(8bit・32bit)・PNG連番画像をデータ容量・データ品質でマトリクス図にしました。8bitの方がデータ容量が若干小さいものの差はほとんどありませんでした。32bitはフルカラーに加えアルファチャンネルもサポートしているため見た目も劣化なくきれいです。可逆圧縮で圧縮されるためPNG連番画像に比べてかなりデータ容量を圧縮できます。別画面でデモを再生する※APNGに対応しているブラウザChrome、Firefox、Safariでご覧ください同じアニメ素材をアニメーションGIFとAPNGとで作成しました。アニメーションGIFでは画像の周りにジャギーが入ってしまううえに、影の部分がグレーにベタ塗り状態になってしまいます。一方のAPNGは要素の周りにジャギーも入ることなく影も思い通りの透明度を表現できています。EdgeやIEなどサポートされていないブラウザーでは、アニメーションが再生されませんが、1フレーム目が静止画として表示されます。導入するメリット・デメリットAPNGのメリットとしては、アルファチャンネルをサポートしているのでアニメーションGIFのようなジャギーの心配もなく思い通りのアニメーションを表現できることです。デメリットとしては、サポートしていないブラウザが存在することです。14、Androidのブラウザ)ではサポートされていません。サポートされていない環境ではAPNGの1フレーム目が静止画として表示されます。すべての環境とまではいきませんが、サポートされていない環境でもAPNGのアニメーションを擬似的に表現する方法があるので次ページで紹介します。APNGとアニメーションGIFとの比較APNGとアニメーションGIFの表現の差はデモでも明らかですが、表現以外にもどのような違いがあるのかフレームレート・データ容量の2つの視点で比較しました。フレームレートの違いアニメーションGIFはレガシーなブラウザでは表現できるfps(フレームレート)が低く、環境によってアニメーションのスピードが異なることがありました。Assembler」で書きだす時にfpsを設定できるので、デスクトップブラウザでは60fpsでアニメーションさせることができます。スマートフォンのiOS・AndroidではアニメーションGIFとAPNGともに動作が重くなってしまい60fpsのアニメーションを実感できませんでした。Assemblerでは、zlib・7zip・Zopfliと3種類の圧縮形式を選択できますが、今回はもっとも圧縮率の高いZopfliで書き出しました。337KB※デモで作成した各画像のデータです。APNGは可逆圧縮のため、画質が劣化しません。アニメーションGIFと比べ42KBほどデータ容量が大きくなりましたが、アルファチャンネル・フルカラーを対応していることを考えると、そこまで膨大なデータ容量ではないと感じました。ちなみに連番画像(PNGで34枚)ですと合計で2.4MBほどになりました。アルファチャンネル部分や色数が増えると差が開いていく可能性があります。サポートされていない環境でAPNGを動作させる方法Chrome、Firefox、Safariでしか動作しない、、、と肩を落とすことはありません。全ブラウザーとまではいきませんが、JavaScriptライブラリ「apng-canvas.js」を使用すると擬似的に表示できます。APNGをHTML5のcanvas要素で解析して描画するライブラリですので、canvas要素をサポートしているブラウザー(IE9〜)で動作します。別画面でデモを再生する次の手順で導入できます。HTMLにapng-canvas.jsを読み込むscript要素を記述します。APNGファイルを読み込むimg要素にclass属性を設定します。ここではpng-imageを設定しました。以下のスクリプトをHTML内または外部のJavaScript内に記述します。このスクリプトでは、APNGを取得してcanvas要素に描画する処理を行っています。}});最後に調査する前まではデータ容量がアニメーションGIFに比べて膨大になってしまうのではないかと思っていました。可逆圧縮の選択肢があり容量の圧縮が可能なので、アニメーションGIFを使うシーンで導入を検討しても良いかもしれません。59からサポートしたことで大きく前進しています。APNGの作り方について「ウェブ用アニメーションを劣化なく保存できる画像形式APNGの作り方」という記事でご紹介していますので合わせてご覧いただけますと幸いです。Marketでもアニメーションスタンプが販売できるようになる」と発表しました。APNGファイルの作り方を徹底解説」にてまとめましたので、あわせてご覧ください。平成29年6月7日に内容をメンテナンスしています。MEDIAは株式会社ICSが運営するオウンドメディアです。ICSはインタラクションデザイン専門のプロダクション。最先端のwebテクノロジーを駆使し、オンスクリーンメディアの表現分野で活動しています。問い合わせ採用情報インタラクションコンテンツの制作や新しいことに挑戦しながら、互いにスキルを高め合えるメンバーをICSでは募集しています。詳しくは採用情報をご覧ください。MEDIAは古い記事でもメンテナンスし続けることで、常に役立つ情報発信を目指しています。