2010-01-30 47 views
6

我正在寻找与-[NSWorkspace iconForFile:]完全相同的方法,但如果可能的话,它会以更高的分辨率返回图标。特别是,我有一个使用QuickLook显示文件预览的应用程序,如果没有快速查看插件可用,我希望它回退到文件图标。然而,使用iconForFile:方法会产生一个小的32x32图标。有更好的方法吗?一个返回NSImageCGImageRef是首选,但较少访问的方法可能也不错。在Mac OS X中的文件的高分辨率图标?

回答

5

-[NSWorkspace iconForFile:]的返回图像包含多个表示,包括更高分辨率的表示。

如果您尝试在512x512上绘制它,它会自动选择适当的表示。

3

这里是使图标更大的方式:

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

完蛋了。祝你好运!

+0

'-setSize'充满了危险,应该避免,除非你知道你在做什么。 – 2012-04-18 14:00:36

+1

该代码来自http://developer.apple.com/library/mac/documentation/cocoa/Conceptual/Workspace/Articles/InformationAboutFiles.html#//apple_ref/doc/uid/20001004-39665 – UJey 2012-04-21 16:22:08