C# 来自字节数组Cocoa应用程序Xamarin C的NSImage源#
这是我的第一个问题。我已经创建了WPF应用程序,它的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
图像控制
源被设置为随机图像的位图数组。它工作得很好。阵列包含每个像素的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
@杰森