2009-03-02 57 views
5

我對Windows成像組件(WIC)和GDI +之間的關係很模糊。過去我做了一些工作,例如,WIC產生了視覺上優秀的GIF編碼,但我很驚訝我沒有看到更多的人將它用於圖像處理與GDI +。我知道它沒有GDI +的繪製操作,但對於編碼/解碼來說它似乎更好。那麼爲什麼我們不看到遷移?WIC和GDI +有什麼關係?

回答

4

的關係(或更確切地說之間的差)和WIC GDI +是WIC是一個可擴展的成像編解碼器的框架,其允許實現框架的應用程序接收用於通過提供的編解碼器的新圖像格式的支持。 GDI +是Windows的核心組件,支持繪製操作,如線條,字體,漸變等。

雖然GDI +具有對幾種常見圖像格式的本機支持,但可以爲任何圖像格式提供WIC編解碼器。

+0

所以比一些本地編碼/解碼等,WIC並沒有真正做到,除了提供更多的編寫代碼的框架什麼?對於這樣一組優秀的本地編解碼器(與GDI +相比),你會認爲他們已經在GDI +和WIC之間提供了更好的橋樑。 – 2009-03-03 14:35:51

+1

我正在研究這一點,似乎還有一點比它。 WIC是WPF大部分功能的基礎(參見http://blogs.msdn.com/dwayneneed/archive/2008/06/20/implementing-a-custom-bitmapsource.aspx),而且WIC似乎可以管理像素就像GDI +一樣。 – 2009-03-03 15:25:57

0

我明白了GDI +使用WIC來執行某些任務。至少,在Windows 7中它的確如此。當我運行在Windows XP下此代碼將使用GDI + GIF編碼器寫入圖像爲GIF

image.Write(target, ImageFormat.Gif); 

請考慮下面的代碼。當我在Windows 7下運行相同的代碼時,它將使用WIC Gif編碼器。