2012-02-14 111 views
1

我正在为USB专辑封面的Win CE项目工作。每次我调用createimagefrombuffer时,都会遇到异常错误。WinCE中的CreateImagefrombuffer

private IImage GetImageFromStream(byte[] input) 
{ 
    IImagingFactory imagingFactory = NULL; 
    IImage image = null; 
    uint size = (uint)input.Length; 
    imagingFactory.CreateImageFromBuffer(input, size, BufferDisposalFlag.BufferDisposalFlagGlobalFree, out image);  
    return image; 
} 

我检查了输入数组和大小;这些信息是正确的。我从一些参考项目中找到了这种实现方式。我不确定imageFactory的声明是否正确。

我看到一些网站声明如下: IImagingFactory imagingFactory = ImagingFactory.GetImaging();

我几乎找不到关于GetImaging函数的任何信息;请指教,如果这个GetImaging是必要的,它是什么?

+1

那么当你在一个空实例上调用CreateImageFromBuffer(你永远不会创建一个IImagingFactory实例)时,你的代码就会显示失败。你在做什么?你对这些的定义是什么(它们不直接在CF中,所以你已经添加了代码或第三方库来获取它们)。 – ctacke 2012-02-14 17:17:48

回答

0

我打算做一个很大的假设,你正在使用OpenNETCF的框架。

有了这样的假设,这是我将如何使用它:

using OpenNETCF.Drawing.Imaging; 

[...] 

ImagingFactory factory = new ImagingFactoryClass(); 

IImage img; 
factory.CreateImageFromFile(@"path to your image", out img); 

认为,在这里我没有使用CreateImageFromBuffer方法所有的事情。