2012-02-14 61 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方法所有的事情。