投稿

4月, 2011の投稿を表示しています

PHP で BMP ファイルを読む

PHP には GD という画像を扱うためのエクステンションがあり、使用可能なサーバも少なくない。 サポート形式も JPEG / GIF / PNG など Web 上でメジャーな画像形式には一通り対応しているので困ることはないのだが、案外 BMP ファイルが読めなかったりする。 パソコンに詳しくない人が使うサービスなんかだと BMP ファイルが使えると嬉しいことも多いだろう。 ググッても案外思ったほどちゃんと対応しているコードは多くないようで、RLE圧縮非対応だったり、16bitカラー非対応だったり、特殊なビットフィールドに対応できていなかったりなどなど。 (試してないけど)真面目に対応したいんだったら ImageMagick などを使えばいいという話もあるので PHP で書かなければいけない理由はそんなにないものの、GD だけで手軽に済ませたいこともしばしばあるので真面目に書いてみた。 https://bitbucket.org/oov/php-bmp/src 1bit / 4bit / 8bit / 16bit / 24bit / 32bit RLE圧縮 ビットフィールドフリー BI_JPEG / BI_PNG も読める 透過情報も上手く読み込める 恐らく PHP 5.1.0 以降で動くんじゃなかろうか テスト用画像としては自分で作ったデータの他、 こちらで配布されているデータ も利用した。 追記: よく見たら bmp対応コードが既にあるっぽい ので将来的にはどこのサーバでも bmp が読めるようになりそう。と、思ったら PHP の GD エクステンションのヘッダ みると、webp はサポートしようとしてるけど bmp の気配はない……ぐぬぬ。

僕と一緒に始めよう!初心者と始めるPHP入門[謎解き編]

エイプリルフールも過ぎたので青字で少し追記しました。 PHPは掲示板とかカウンタとか作れる凄いやつです。早速書いてみましょう!