2008-10-01 46 views
5

對於那些不熟悉的圖像核心,這裏是它的一個很好的說明: http://developer.apple.com/macosx/coreimage.htmlCoreImage爲Win32

有什麼事相當於蘋果的CoreImage/corevideo的爲Windows?我環顧四周,發現了DirectX/Direct3D的東西,它包含了所有的底層元素,但是似乎沒有任何高級API可以使用,除非您願意使用.NET,而不是使用WPF,既不使用WPF也不使用WPF其中真正感興趣的是我。

基本思想是創建/加載圖像,附加任意數量的可以鏈接在一起的過濾器,形成圖形,然後將圖像渲染到HDC,使用GPU完成大部分辛勤工作。 DirectX/Direct3D具有這些部分,但您必須跳過許多環節(或者看起來)才能使用它。

+0

HDC ==低級別的Windows API顯示上下文 – 2008-10-02 14:22:07

回答

1

有許多用於着色器(如RenderMonkey和FX-Composer)的工具,但沒有與CoreImage直接等價的工具。

但是將片段着色器堆疊在一起並不是很困難,所以如果您不介意學習OpenGL,那麼構建一個將着色器應用於輸入圖像並將結果繪製到HDC。

+0

這是RenderMonkey,而不是ShaderMonkey – faulty 2008-10-01 13:54:05

0

Adob​​e的新Pixel Blender是最接近的技術。它是跨平臺的 - 它是Flash 10運行時的一部分,以及面向像素的CS4應用程序,即After Effects和(快)Photoshop。然而,目前尚不清楚目前在其他應用程序中嵌入了多少內容。在最極端的情況下,應該可以通過嵌入Flash視圖進行嵌入,但是這顯然比想象中的開銷要高。

還有至少一個較小規模的第三方產品:Conduit Pixel Engine。但是,這是商業性的,沒有明確列出授權價格。

0

我現在已經有了一個解決方案。我已經實現了一個ImageContext類,一個特殊的Image類和一個Filter類,它允許與Apple的CoreImage類似的功能。所有這三個人都使用OpenGL(我放棄了由於圖像質量問題而使其在DirectX上工作,如果有人知道DirectX很好地聯繫我,因爲我喜歡有一個Dx版本)將圖像呈現給上下文並使用過濾器來應用它們的效果(如HLGL碎片着色器)。這裏有一個簡短的寫法: ImageKit 帶有一個示例過濾器和一些示例源代碼的屏幕截圖。