nsimage大小是错误的
-
03-10-2019 - |
题
我想我在这里缺少一些基本的东西。如果我使用我知道存在的法律URL/路径来执行此操作:
NSImage* img = [[NSImage alloc] initWithContentsOfFile:[[selectedItem url] path]];
NSLog(@"Image width: %d height: %d", [img size].width, [img size].height);
然后我向控制台报告宽度为-2080177216和0.。尽管我知道宽度实际上是50,高度为50。我尝试调用Isvalid,它返回是的,我也尝试检查检查的大小首先表示,它返回了相同的混乱值。该图像如何无法正确加载?
解决方案
这 size
方法返回 NSSize
, ,一个结构 width
和 height
成员是类型 float
. 。你把他们当作 int
. 。采用 %f
一切都应该很好。
其他提示
这有帮助吗?
setSize:
设置图像的宽度和高度。
- (void)setSize:(NSSize)aSize
讨论:
必须在使用Nsimage对象的大小之前设置它。如果添加图像表示时尚未设置图像的大小,则从图像表示的数据中获取大小。对于EPS图像,大小是从图像的边界框中取的。对于TIFF图像,大小取自ImageLength和ImageWidth属性。
使用NSIMAGE的大小有效地调整了图像大小。更改尺寸会使所有缓存无效,并释放它们。当图像是下一个组合时,所选的表示形式将在屏幕外窗口中绘制自身以重新创建缓存。
Mac OS X V10.0及更高版本中可用的可用性。也可以看看
您需要通过Nsimagerep迭代并设置最大发现的大小。
不隶属于 StackOverflow