2010-04-27 59 views
2

下我運行在IIS下,我們繪製圖形與網絡應用程序描畫被髮送到客戶端。我們以前在iis6下運行,而在遷移到2008(iis7)時,我們遇到了一些非常奇怪的圖形問題。我偶然發現了GDI +的msdn文檔,指出「在Windows服務中不支持使用GDI +函​​數和類」。我懷疑我的問題可能與服務http://msdn.microsoft.com/en-us/library/ms533798%28VS.85%29.aspx與GDI + IIS

我的問題是到底如何,我們應該繪製圖形的進一步孤立?原始GDI? OpenGL - 但是這並不需要DC?

回答

0

我曾問過類似的問題:

Why not use GDI+ from ASP.NET

我最終切換到LEADTOOLS庫。

當然,你可以選擇不依賴於設備的任何庫。 GDI +取決於設備上下文,該上下文爲其提供基於其圖形的物理設備。但是,作爲服務運行時,圖形適配器可能無法在桌面環境中使用。

你也可以寫自己的圖形程序,其繪製成位圖。位圖是以特定格式排列的原始內存。在給定的細節您的具體情況

+0

我馬上去了LEADTOOLS庫。真的,我想我需要的是一些庫,以獨立於設備的方式完成圖形繪製。 – Zac 2010-04-27 17:13:55

+0

我們有一箇舊版本的庫 - 所以這可能已經改變,因爲我們有版本。我把dll扔進依賴walker,它非常依賴GDI。 – Zac 2010-04-27 18:20:04

+0

嘗試版本15+。還取決於你在用他們的庫做什麼。在GDI +和Leadtools之間有互操作的能力。我所做的是創建一個進程外服務器(只生成一個單獨的使用Leadtools來執行圖形的.exe),然後從asp.net應用程序中讀取生成的jpeg文件。 – 2010-04-27 18:44:07

0

不是100%;但爲什麼不用一個簡單的asp.net應用程序來執行圖形渲染呢?您可以使用System.Drawing命名空間,它封裝GDI +

如果您需要繪製圖形,並通過HTTP提供給客戶只是準系統功能,你也可以使用一個HttpHandler

+0

我們的繪圖是在原生C++庫中完成的。正如你指出的Sysem.Drawing使用GDI +的底線 - 反對MSDN的建議。 – Zac 2010-04-27 17:12:52