Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自字节数组Cocoa应用程序Xamarin C的NSImage源#_C#_Cocoa_Xamarin - Fatal编程技术网

C# 来自字节数组Cocoa应用程序Xamarin C的NSImage源#

C# 来自字节数组Cocoa应用程序Xamarin C的NSImage源#,c#,cocoa,xamarin,C#,Cocoa,Xamarin,这是我的第一个问题。我已经创建了WPF应用程序,它的图像控制源被设置为随机图像的位图数组。它工作得很好。阵列包含每个像素的R、G、B顺序的信息 现在,我必须在Mac的Cocoa应用程序中做同样的事情,我有一个问题,因为我是第一次这样做。我已经创建了NSImageView,将其公开为outlet,并尝试在ViewDidLoad()方法中设置Image,如下所示: IMW.Image = GetImage(); public static NSImage GetImage(){ NSD

这是我的第一个问题。我已经创建了WPF应用程序,它的
图像控制
源被设置为随机图像的位图数组。它工作得很好。阵列包含每个像素的
R、G、B
顺序的信息

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

 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应用程序中工作


多谢各位

字节数组中包含的图像数据的格式是什么?字节数组中的数据是0到255之间的整数,每个像素三个(每个颜色通道由1位表示)。在WPF中,我使用了
位图
像素格式.Format32bppArgb
和方法
SetPixel
@杰森