检测 Retina NSImage 的大小
Detecting Size of Retina NSImage
我正在将图像放入 NSImageView 并输出图像的大小。这适用于标准图像,但我想以非视网膜尺寸输出视网膜图像的尺寸,例如 100x100 @2x 图像我想输出尺寸为 50x50。除了检测文件名外,我想不出这样做的方法。有没有一种方法可以检测图像的比例以便我可以操纵输出大小?
只好自己处理了。
你可以这样做:
NSImage *image = [...];
NSData* data = image.TIFFRepresentation;
NSBitmapImageRep* bitmap = [NSBitmapImageRep imageRepWithData:data];
CGFloat actualHeight = bitmap.pixelsHigh;
因此,如果您将 image.size.height
与 bitmap.pixelsHigh
进行比较,您可以判断它是否是您正在处理的 Retina 图像。
我正在将图像放入 NSImageView 并输出图像的大小。这适用于标准图像,但我想以非视网膜尺寸输出视网膜图像的尺寸,例如 100x100 @2x 图像我想输出尺寸为 50x50。除了检测文件名外,我想不出这样做的方法。有没有一种方法可以检测图像的比例以便我可以操纵输出大小?
只好自己处理了。
你可以这样做:
NSImage *image = [...];
NSData* data = image.TIFFRepresentation;
NSBitmapImageRep* bitmap = [NSBitmapImageRep imageRepWithData:data];
CGFloat actualHeight = bitmap.pixelsHigh;
因此,如果您将 image.size.height
与 bitmap.pixelsHigh
进行比较,您可以判断它是否是您正在处理的 Retina 图像。