2006年8月6日

NSImageでWindowsアイコンデータを扱う

通称 Favicon をCocoaで扱いたかった。 元データはWindows アイコンファイル仕様(.ico)がBase64化されてテキスト文字列になっていた。 なので Base64デコードして、何か仕様のpixelデータ列に変換してNSImageに喰わせる必要があるかと思っていた。

が、 Base64デコードした後のWindowsアイコンデータのバイト列を元にNSDataを作成して、initWithData:で初期化すればお望みにNSImageが得られて、表示放題のようだ。またアイコンデータに限らず、MacOSXで扱える全ての画像形式(JPEG,PNG,等々)をNSDataに入れられれば、形式を自動認識してNSImageを生成出来るようである。

これも、Quartzの恩恵らしい。何ともすばらしい。

あとは、キャッシュの方法をマスタすればNSImageは恐れるに足らない。

0 件のコメント: