在 Cocoa 应用程序中,我想在 NSImageView 中显示一个二维浮点数组。为了使代码尽可能简单,首先将数据从 float 转换为 NSData:
// dataArray: an Nx by Ny array of floats
NSMutableData *nsdata = [NSMutableData dataWithCapacity:0];
long numPixels = Nx*Ny;
for (int i = 0; i < numPixels; i++) {
[nsdata appendBytes:&dataArray[i] length:sizeof(float)];
}
现在尝试显示数据(显示为空白):
[theNSImageView setImage:[[NSImage alloc] initWithData:nsdata]];
这是正确的方法吗?首先需要一个 CGContext 吗?我希望通过 NSData 来实现这一点。
我已经注意到早期的堆栈帖子:32 位数据,关闭但反向,几乎可以工作,但没有 NSData,这里的彩色图像数据,但在这些工作上获得变化并没有太多运气。感谢您的任何建议。