アルファチャンネル
2003年1月17日(金曜日)
アルファチャンネル
まさか無理だろうと思いながら、半透明のアルファチャンネルを持つ PNG 画像を、あるブラウザで表示させてみたところ……。
- 表示できた。
- しかもちゃんと半透明で背景画像が透けて見えている!
- ついでに、結構かっこいい!
正直、感動しました。
※そのブラウザは CSS の解釈もかなりしっかりしていて、position: fixed や :focus 疑似クラスも効きますし、ほとんどのプロパティが私の予想通り (つまり仕様通り) の動作になります。正直なところ、当初は「どうせボロボロで使い物にならないだろう」などと考えていたのですが、とんでもない、良くできています。すばらしいです。
しかし、よく考えてみればそんなのは単に仕様通りなだけで、別に驚くことでもないはずです。むしろ出来ない方がどうかしています。
出来ないブラウザというのは具体的には IE6 なのですが、IE6 は PNG 画像を表示できて透過も扱えるのに、半透明のアルファチャンネルは扱えず、不透明の変な色で表示してしまうのでした。
そうか、半透明処理は難しいからしようがないのかなあ……などと思って許してやりたいところですが、そうは行きません。なぜなら、謎の filter: alpha(); などというプロパティで半透明の指定をすると、文字だろうが何だろうが半透明処理できるのです。PNG は処理できる、半透明も処理できるのに、どうして半透明の PNG はダメなのでしょうか……。
まったく謎としか言いようがありませんが、近い将来に対応してくれることを祈ります。
- 「アルファチャンネル」にコメントを書く