ara*_*ide 19 macos cocoa objective-c nsimage
我使用下面的代码来获取NSImage的宽度和高度:
NSImage *image = [[[NSImage alloc] initWithContentsOfFile:[NSString stringWithFormat:s]] autorelease];
imageWidth=[image size].width;
imageHeight=[image size].height;
NSLog(@"%f:%f",imageWidth,imageHeight);
Run Code Online (Sandbox Code Playgroud)
但有时候imageWidth,imageHeight不会返回正确的值.例如,当我读取图像时,EXIF信息显示:
PixelXDimension = 2272;
PixelYDimension = 1704;
Run Code Online (Sandbox Code Playgroud)
但是imageWidth,imageHeight输出
521:390
Run Code Online (Sandbox Code Playgroud)
Kib*_*tik 24
图像的尺寸(以像素为单位)存储在图像的NSImageRep中.如果您的文件只包含一个图像,它将如下所示:
NSImageRep *rep = [[image representations] objectAtIndex:0];
NSSize imageSize = NSMakeSize(rep.pixelsWide, rep.pixelsHigh);
Run Code Online (Sandbox Code Playgroud)
其中image是你的NSImage,imageSize是你的图像大小(以像素为单位).
Par*_*iya 10
NSImage大小方法返回依赖于屏幕分辨率的大小信息.要获得实际文件映像中显示的大小,您需要使用NSImageRep.
参考nsimage-size-not-real-size-with-some-pictures链接并获得帮助
| 归档时间: |
|
| 查看次数: |
12969 次 |
| 最近记录: |