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 件のコメント:

Cocoa Emacs 24.3 構築 (2013/03版)

暫く使っている Cocoa Emacs を更新していなかったので、24.3 に上げてみた。 当てるパッチは inline patch と ポップアップフリーズ対応パッチ くらい。 24.3 には既にフルスクリーン実装が入っているので、よく使われているフルスクリーンパッチは外し...