NSImage大小错误

evi*_*red 1 cocoa objective-c nsimage nsimagerep

我想我在这里缺少一些非常基本的东西.如果我使用我知道存在的合法URL /路径执行此操作:

NSImage* img = [[NSImage alloc] initWithContentsOfFile:[[selectedItem url] path]];
NSLog(@"Image width: %d height: %d", [img size].width, [img size].height);
Run Code Online (Sandbox Code Playgroud)

然后我向控制台报告宽度是-2080177216和高度0.虽然我知道宽度实际上是50和高度50.我尝试调用isValid并返回YES,我也尝试检查大小第一个表示,它返回相同的混乱值.为什么图像加载不正确?

wal*_*lky 9

size方法返回NSSize一个结构,其结构widthheight成员类型float.你把他们视为int.使用%f,一切都应该没问题.