2008-10-01 51 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 带有一个示例过滤器和一些示例源代码的屏幕截图。