Nacky - Snowland.net

Nacky(Issei Ishii)がDJ/Composerのようなふりして書き散らすblogサイト

Info

Nacky - Snowland.net - blogを移転しました

2010-01-27

PHPでbmpやtiffを扱いたい

PHPのGD関数だとimagecreatefromjpegとかでサクサクとjpegファイルを読み込めてとても便利なんですが,Windows BMPとtiffには対応していません.

Windows BMPに関してはDHKoldさんのimagecreatefrombmp関数(自力でbmpを読む)がありますのでありがたく使わせていただきます.
PHP: imagecreate - Manual #53879

じゃあtiffはどうするか.これがまた全然情報がない.
仕方ないのでとりあえずはtiff2pngという外部のプログラムを使うことにします.

tiff2png Home Page
PNG 利用術

Linux x86/glibc のバイナリがあるのでそちらをDL.
$ tiff2png -destdir <書き出し先> <tiffファイル>
動作確認.
あとはtmpnameなりを使ってテンポラリファイルを確保して,system()関数あたりで呼び出してやればOK.
# tiff2pngは-destdirを指定しないとカレントに書き出そうとするようで,パーミッション問題でややハマり.

追記
tiff2pngは拡張子.tiffや.tifだとリネームして.pngになってくれますが,tmpnameとかでテンポラリファイルとして拡張子なしのものを食わせると,後ろに.pngを追加したファイル名にしてくれます.

hogehoge.tif → hogehoge.png
hogehogetmp → hogehogetmp.png

posted at 20:54:54 on 2010-01-27 by nacky - Category: Com/Tech ( PHP )

ソニーストア

TrackBack

このエントリにトラックバックはありません
トラックバックURL

Comments

No comments yet

Add Comments