ページ

2008年7月28日月曜日

起動中のアプリ調査 (4) アイコン表示(サイズ)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

以前紹介したように NSWorkspace#iconForFile で取得できるアイコン画像はサイズが数種類用意されている。

Finderの例。

 NSImage 0x180a60 Size={32, 32} Reps=(
NSIconRefBitmapImageRep 0x182530 Size={128, 128} ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=128x128 Alpha=YES Planar=NO Format=0,
NSIconRefBitmapImageRep 0x182590 Size={256, 256} ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=256x256 Alpha=YES Planar=NO Format=0,
NSIconRefBitmapImageRep 0x1827e0 Size={512, 512} ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=512x512 Alpha=YES Planar=NO Format=0,
NSIconRefBitmapImageRep 0x182820 Size={32, 32} ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=32x32 Alpha=YES Planar=NO Format=0,
NSIconRefBitmapImageRep 0x182860 Size={16, 16} ColorSpace=NSCalibratedRGBColorSpace BPS=8 BPP=32 Pixels=16x16 Alpha=YES Planar=NO Format=0
]


前回 NSCollectionImageView で表示されていたサイズは 32x32だった。これを 16x16に変えてみる。アイコン画像生成時に単純に NSImage#setSize でサイズを指定してみた。
  icon = [ws iconForFile:[app objectForKey:@"NSApplicationPath"]];
[icon setSize:NSMakeSize(16, 16)];


いい感じだ。


調子にのって 512x512


おお、奇麗に出てている。サイズに合わせて適切な元画像を使用してくれているようだ。なおサンプルでは NSImageView によって縮小されて表示されているの見た目 512x512より小さいのであしからず(ややこしいが)。