我正在使用类iconForFile:
选择器NSWorkspace
,但它返回低质量的图像。
谁能告诉我为什么会这样?是否有任何开关或标志来告诉框架以不同的格式返回图像?
我正在使用类iconForFile:
选择器NSWorkspace
,但它返回低质量的图像。
谁能告诉我为什么会这样?是否有任何开关或标志来告诉框架以不同的格式返回图像?
文档说明返回的图标大小为 32x32,但您可以使用-[NSImage setSize:]
它,它可能会加载更大的表示形式:
NSImage * iconImage = [[NSWorkspace sharedWorkspace] iconForFile:file];
[iconImage setSize:NSMakeSize(128, 128)];
您还可以使用图标服务(例如GetIconRefFromFileInfo
)或 QuickLook(例如QLThumbnailImageCreate
)来获取更大尺寸的文件图标或预览图标。
一个 Swift 扩展,可让您使用 Justin 的解决方案定义所需的高度(宽度)
extension NSWorkspace {
func icon(for url: URL, height: Int) -> NSImage {
let image = icon(forFile: url.path)
image.size = NSSize(width: height, height: height)
return image
}
}