favicon wars
外部サイトのフィードを、BOTにクロールさせる。
それ自体はよくある処理だが、ついでにfaviconも取得し、適切な画像(例えばPNG)に変換してキャッシュする。
ico形式をPNGに変換するところが、この処理のキモだ。
GD2はico形式に対応しておらず、何かしら対策が必要。
ImageMagickならば対応している様だが、残念ながら、それを利用できる環境ではない。
PHP用のico対応ライブラリは、程なく見つけることが出来た。
class.ico.php
http://www.phpclasses.org/browse/file/9705.html
ソースを見たところ、内部処理をGDで行っている。
これなら問題なく動くだろう。
まずは試しにこのブログ、つまりはてなダイアリーのfaviconを拝借。
ふむふむ、ちゃんとゲットできてる。
こりゃいい。
では続けて、twitter。
え。なにこれ。
なにこの、不思議時空。
言うまでもないけど、以下のカラーリングが正解。
この変色は、class.ico.phpのバグが原因とのことで。
修正の手順は、こちら。
PHP ICO to PNG conversion | Tom Reitz
http://www.tom-reitz.com/2009/02/17/php-ico-to-png-conversion/
情報提供に感謝です。
とても助かりました。