画像形式「PNG」に注目せよ!

2008年12月18日(木)
たにぐち まこと

PNGの透過画像

 PCの世界でも、PNGを「使わない理由」はありません。FirefoxやOperaといったモダンブラウザはもちろん、IEでもバージョン7では表示をすることができます。容量も軽く、高画質で扱いやすいPNG形式を積極的に使うべきと言えるでしょう。

 PNG形式で画像を作るのは非常に簡単です。前回(http://thinkit.jp/article/717/1/)紹介したオンラインソフトでも対応していますし、Photoshop、FireworksでもGIFやJPEGと同様の手順で、PNG形式を選ぶことができます。

 GIFでも、1色を指定して透過画像を作ることができます。しかし、例えばドロップシャドウや、アンチエイリアスのかかった画像の場合、画像の周りに若干色が残ってしまう「フリンジ」という現象が発生してしまいます(図3)。

 しかし、PNGの場合は複数の色を透明色に指定することができるため、このような画像もキレイに透明化することができます。早速試してみましょう。ここでは、Photoshopで説明します。

 Photoshopのメニュー「ファイル → 新規」を選び、「カンバスカラー」を透明に設定して画像を作成します。

 ドロップシャドウなどのエフェクトを施した画像を作成し、メニューの「ファイル → Webおよびデバイス用に保存」を選んで書き出しましょう。画面右側の画像形式選択部分で「PNG」を選ぶと、透明部分もそのまま保持することができます。

 念のため、ここで「GIF」を選ぶとその違いが非常によく分かります。GIFでは、ドロップシャドウをかけた個所だけ、白色が現れてしまっています(図3)。

 それでは、書き出した画像をそれぞれWebページに貼り付けて表示してみましょう。その画質の違いは一目瞭然(りょうぜん)です。PNGを利用すれば、このような高度な画像処理を簡単に施すがことができるというわけです。

透過GIFをIE6以下で正しく表示させるには

 透過PNG画像の残念な点は、IE6以前のブラウザに完全対応していないことです。画像自体は表示されるものの、透過PNGが正常に処理されず、GIFと同じようになってしまうことです。

 しかし、これはJavaScriptを利用すると解決することができます。いくつかライブラリなどが存在していますが、「to-R(http://blog.webcreativepark.net/)」がMITライセンスで公開しているライブラリ「alphafilter.jsライブラリ(http://blog.webcreativepark.net/2007/02/01-233315.html)」が最も使いやすいものの1つです。

 まずは、透明PNGを利用したWebページを作成しておきます。この時点でIE6以前で表示をすると、画像部分の背景だけがグレーの状態になってしまいます。

 先のサイトからライブラリをダウンロードして、適当なフォルダにコピーします(ここでは、「js」フォルダであると仮定します)。そしたら、先のWebページの

要素に次のように記述しましょう。



 そして、透明PNGの要素にclass属性を追加します。



 これで準備完了です。あらためてWebページを表示すると、見事に透明になっています。

 このJavaScriptは、class属性で指定された要素内の画像を、IE6のDirect Xの機能である「AlphaImageLoader」という機能に変換して、疑似的に透明化をするという処理を自動で行っています。IE以外のブラウザには影響がないため、これにより透過PNGを気軽に使うことができるようになります。

 次回は、透明PNGを利用するとどんなデザインができるのか、どんな表現が可能なのか。今回の内容をふまえて、実際のデザインの作り方や活用方法を紹介していきます。

【参考文献】

「PNG (Portable Network Graphics) Home Site」(http://www.libpng.org/pub/png/)(アクセス:2008/11)

「Image Optimization Part 2: Selecting the Right File Format Yahoo! User Interface Blog」(http://yuiblog.com/blog/2008/11/04/imageopt-2/)(アクセス:2008/11)

「アルファ画像を扱うalphafilter.jsライブラリ[to-R]」(http://blog.webcreativepark.net/2007/02/01-233315.html)(アクセス:2008/11)
株式会社エイチツーオー・スペース
東京代々木でWeb制作業を営む、デザインユニット。「ちゃんとWeb」というコーポレートテーマで、なんとなくキレイ、なんとなく動いているサイトではない「ちゃんとした」サイト作りを心がける。現在は、「ちゃんとWeb.net」や「aquanotes Shop.」などのサイト運営を通じて、Webの運営担当者に啓蒙中。http://h2o-space.jp

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています