2010-01-30 14 views
6

Sto cercando un metodo esattamente come -[NSWorkspace iconForFile:] ma che restituisce l'icona in una risoluzione più elevata, se possibile. In particolare, ho un'app che utilizza QuickLook per visualizzare le anteprime dei file e mi piacerebbe che ricada all'icona del file se non è disponibile un plug-in di rapida occhiata. Utilizzando il metodo iconForFile:, tuttavia, si ottiene una piccola icona 32x32. C'è un metodo migliore in giro? Uno che restituisce uno NSImage o CGImageRef è preferibile, ma i metodi meno accessibili potrebbero andare bene.Icona ad alta risoluzione per file in Mac OS X?

risposta

5

L'immagine restituita di -[NSWorkspace iconForFile:] contiene più rappresentazioni, comprese quelle con risoluzione maggiore.

Se si prova a disegnarlo a 512x512, verrà automaticamente selezionata la rappresentazione appropriata.

3

Ecco il modo per rendere più grande icona:

NSImage * icon = [NSWorkspace iconForFile:yourPath]; 
[icon setSize:NSMakeSize(64,64)]; 

questo è tutto. In bocca al lupo!

+0

'-setSize' è irto di pericoli e dovrebbe essere evitato a meno che tu non sappia cosa stai facendo. –

+1

Il codice è tratto da http://developer.apple.com/library/mac/documentation/cocoa/Conceptual/Workspace/Articles/InformationAboutFiles.html#//apple_ref/doc/uid/20001004-39665 – UJey