cocoa - 来自字节数组的 NSImage

标签 cocoa monomac

我试图在 NSImageView 中显示图像,图像包含在字节数组中。我怎样才能做到这一点?据我了解,我需要将 byte[] 转换为 NSData 变量并将其提供给 NSImage。它是否正确?我该怎么做?我尝试过强制转换,但不起作用,而且似乎没有内置任何转换...

我尝试过以下方法:

选角:

NSData bytesAsMacVariable = (NSData) imageAsBytes;

也尝试过

NSData bytesAsMacVariable = imageAsBytes as NSData;

最后,尝试传递一个 byte[],就好像它是 NSData 一样。

NSImage imageToShow = new NSImage(imageAsBytes);

这些都不起作用,据我所知,NSImage 或 NSData 都没有接受 byte[] 进行转换的成员函数...

最佳答案

您正在转换为对象类型,但您应该转换为指向对象的指针类型。
尝试一些更像

NSData *imageData = [NSData dataWithBytes:byteArray length:arrayLength];
NSImage *image = [[NSImage alloc] initWithData:imageData];
[imageView setImage:image];
[image release];

指针非常重要。

关于cocoa - 来自字节数组的 NSImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5645157/

相关文章:

macos - MonoMac Create Mac Installer 导致 Merging Mono Failed。致命的未处理异常

iphone - iPhone 上的 SQLite 批量插入不起作用

ios - Xcode 4.6 不会归档具有依赖库的目标

objective-c - 编辑外部属性列表 (.plist)

macos - 无法让 Mono GUI 设计器出现

Cocoa 绑定(bind)仅在窗口焦点更改时更新

ios - NSURLRequest HTTPMethod 属性的 NSString 常量?

javascript - 如何在 Swift 中从 npm 运行 Node JS 代码

macos - 带有辅助命令行工具的沙盒 Mac 应用程序

c# - Mac 上 Mono 中的 DllImport 出现 DllNotFoundException