我试图在我的应用程序中显示垃圾桶的图标,无论是空的还是满的。我已经尝试了几种方法来获取图标,但每次大小都是0。你知道一种获得全尺寸图像的方法吗?

最佳答案

我假设您是通过nsworkspace获得垃圾图标的,使用iconscore.h中的kTrashIcon常量(如果不是,这是:

NSImage* image = [[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kTrashIcon)];

…nsiMime包含多个不同大小的表示。如果你想要最大的一个,只需迭代可用的表示来找到它:
NSEnumerator* representationEnumerator = [[image representations] objectEnumerator];
NSSize biggestSize = NSMakeSize(0, 0);
NSSize size;
while ((size = [(NSImageRep*)[representationEnumerator nextObject] size]).width) {
    if (size.width > biggestSize.width) {
        biggestSize = size;
    }
}
[image setSize:biggestSize];

…在我的计算机上,这会导致nsimage设置为512x512。

09-12 09:46