2012-11-29 66 views
3

我們的產品是Microsoft Office的插件,我們在其中有一些GUI。outlook-addin中的「GDI中發生了一個通用錯誤」

我們使用Graphics.DrawImage來打印圖像。

問題是,我們有一個特定用戶報告了一些問題,GUI在Microsoft Outlook中未顯示,但同時它在Microfot Word中正常工作。

我在日誌中看到的錯誤是:

System.Runtime.InteropServices.ExternalException: A generic error occurred in GDI+. 
    at System.Drawing.Graphics.CheckErrorStatus(Int32 status) 
    at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height) 

我知道這可能意味着對某種資源有限的問題,但問題是,同樣的GUI在Microsoft Word中完全正常運行。此外,我們試圖繪製的圖像是一個16x16的小圖標。

是否有任何種類的限制,特定的過程可能會導致這種情況?

更新:問題發生在未從文件流正確加載的特定圖像中。

+1

是否從內存流或磁盤加載圖像...? – K3N

+0

我使用WebRespone或嵌入式資源中的MemoryStream。 –

回答

1

當使用MemoryStream時,重要的是在整個圖像使用期間,數據流保持活動狀態,直到圖像被丟棄。這是因爲圖像需要有時從存儲器流表示的存儲區讀取。

如果在處理圖像之前關閉了數據流,則存儲區可能會失效或不會失效。

當您處理圖像時,流也將被關閉。

+0

你最後一句話是不正確的。完全不用擔心。 –

+0

Str。。謝謝。星期天適合思考錯誤; -P – K3N

+0

感謝您的回答,但這絕對不是問題在這裏......我有相同的確切代碼在「Microsort Word」過程中運行,並且工作得很好。 –

相關問題