素材工房(というより鍛冶屋って感じだけど)のコンテンツで使っている画像ファイルを見ていたら、アルファチャンネルPNGなのに妙にサイズが小さいファイルを見つけました。他の同じ程度の大きさの画像だと90KB程度になっているのに、30KB程度....。32bitPNGは圧縮していない形式なのに.........。
どう考えたって手持ちのソフトで書き出したに決まっているのですから、使ったソフトをいろいろ調べていたら発見!
なんとFireworksでは、8bitのPNGにもアルファチャンネルによる透明化を実現出来たのです!!! .....たぶんその画像は何かの手違いでそういう書き出しをしてしまったのだと思います。......自分でも気付いていなかったので....。
手持ちのグラフィックスソフトでPNGの書き出しが出来るのは、Adobe ImageStyler1.0、Photoshop Elements1.0、Macromedia Fireworks4で、ImageStylerでボタンやプレート等を作った場合はImageStylerで書き出しをし、その画像のうち、スライスする必要があるものは、Fireworksで処理していました。
ImageStylerは古いソフトなので、デフォルトではアルファチャンネルによる透明化PNGは書き出し出来ないのですが、Photoshop ELにあるプラグインのファイル形式フォルダにあるPNGのプラグインをImageStylerのプラグインフォルダに入れる事によって、アルファチャンネルによる透明化が可能なのです。(......たぶんこれを発見したのは自分だけだろうな....) それでも書き出し可能なのは、8bitか32bit(=TrueColor)のどちらかで、8bitでは圧縮はできるのですがアルファチャンネルには対応しておらず単一の透明化のみ可能なので、GIF形式と同じ様なものです。32bitはオプションがなく、アルファチャンネル透明化可能ですが圧縮無しの書き出しになってしまうので、ちょっとした大きさのボタンでも、100KB超はざら、という具合です。
同じプラグインにしているはずなのに、Photoshop Elementsでは、32bitの選択肢がなく、8bitと24bitの書き出しに対応しており、8bitについてはImageStylerと基本的には同じでカラーの割り当てが出来るくらいで、24bitがImageStylerでの32bitと同じ機能らしいのですが、ファイルサイズがImageStylerでの書き出しよりも少し小さくなるのです。たぶん24bitだからなのでしょうが。それでもまあ五十歩百歩みたいなものなので、大きなサイズには変わりありません。
Firework4では、8、24、32bitそれぞれ選択肢があるのですが、24bitでは透明化できないので、32bitでしかアルファチャンネル対応していないと思っていたので、そのまま32bitで書き出ししていました。
なのに......なのに.........8bitでもアルファチャンネル対応出来たとは......迂闊でした。自分の間抜けぶりを改めて認識するはめになってしまいましたが、とにかくこの事実を知った事は、非常に有益でした。ほとんど1/3程に小さく出来るのですから、あれだけPNGを大量使用しているコンテンツにとっては物凄いサイズ減少になるわけです。8bit=256色までしかカラーが使えないのですが、カラーの割り当てがこのFireworks、非常に上手く、ほとんど元画像と同じ状態で書き出しできるんです......。ちょっと信じられないくらいです。
でも....8bitPNGって、確かGIFと同様に単一の透明化しかできない仕様だったはず.....。PNG関連のサイトを見てもそう書かれているのに.....、。ということは、8bitでアルファチャンネルを持てるPNGはFireworks独自のファイルなの??? でもIEを初めとして、ブラウザチェックに使っている全てのブラウザできちんと表示できたし......。ちょっと「?」な感じ。それに........実はついうっかりして、結合せずにレイヤーマスクを残した状態のPNG画像をそのまま使っていたものもあったのですが、それも問題なく表示できるし.............Fireworksってすごいかも。
なぜ、こんなにPNGに執着しているかというと、W3Cが、今後のWeb用の画像ファイルとして、PNGを奨めているからです。というか、いろいろとライセンス関係で問題のあるGIFに変わって高機能の画像形式を用意しようとW3Cが提案してきたものの結果がPNGなのですから、今後Webでは標準になるはずです。W3Cがそう言っているんだから、それに従わざるを得ないですし。HTMLだってそのうちXHTMLで書かれたWebページが多くなるでしょうし、エンコードだって、ユニコード(UTF-8/16)になっていくでしょうし.....。 とはいえ、事実上の標準ブラウザであるWin:IEがアルファチャンネルPNGに対応していないせいで、普及が進んでいないという現実もあるので、次バージョンのIE次第なのかもしれませんが。 しかし他のブラウザは全て実装しているし、どうせW3C辺りからも対応を迫られているでしょうから、対応するとは思いますが。
ともかく、32bitPNGを大量に書き出してしまった今頃になって気付いたのは遅すぎるのですが、Fireworksにはパッチ処理機能もあるので、まあ楽に変更できるでしょうし、近いうちに、鍛冶屋も癲狂院も、ぐっと画像の読み込みが早くなるはずです。
トラックバック
このエントリーのトラックバックURL:
http://www.seventh-heaven.jp/diary/mt-tb.cgi/356