首页 > 解决方案 > 来自字节数组 Cocoa 应用 Xamarin C# 的 NSImage 源

问题描述

这是我在那里的第一个问题。我创建了 WPF 应用程序,其image control源设置为随机图像的位图数组。它完美地工作。该数组包含R,G,B每个像素的顺序信息。

现在,我必须在 Mac 的 Cocoa 应用程序中做同样的事情,但我遇到了问题,因为我是第一次这样做。我已经创建NSImageView,将其公开outlet并尝试Image在方法中设置如下ViewDidLoad()

 IMW.Image = GetImage();

 public static NSImage GetImage(){

   NSData nsdata = NSData.FromArray(bbb.ToArray()); // the same array as in WPF app
   NSBitmapImageRep nip = new NSBitmapImageRep(nsdata);
   NSImage image = new NSImage(nsdata);
   return image;

 }

尝试运行应用程序时总是出现错误:

Could not initialize an instance of the type 'AppKit.NSBitmapImageRep': 
the native 'initWithData:' method returned nil.
It is possible to ignore this condition by setting 
MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure to false.

看起来字节数组有问题,但我不明白为什么它在 WPF 应用程序中有效。

非常感谢!

标签: c#cocoaxamarin

解决方案


推荐阅读