代码之家  ›  专栏  ›  技术社区  ›  Jim Crafton

用于win32的coreimage

  •  5
  • Jim Crafton  · 技术社区  · 16 年前

    对于那些不熟悉核心图像的人,这里有一个很好的描述: http://developer.apple.com/macosx/coreimage.html

    有没有类似于苹果的coreimage/corevideo for windows的产品?我环顾四周,发现了directx/direct3d的东西,它包含了所有的底层部分,但是似乎没有任何高级api可供使用,除非您愿意使用.net 使用wpf,这两个我都不感兴趣。

    基本思想是创建/加载一个图像,附加任意数量的可以链接在一起的过滤器,形成一个图形,然后将图像渲染到hdc,使用gpu完成大部分的艰苦工作。directx/direct3d有这些部件,但是要使用它,您必须跳过很多圈(或者看起来是这样)。

    3 回复  |  直到 15 年前
        1
  •  1
  •   mike    16 年前

    有多种工具可用于处理着色器(如rendermonkey和fx composer),但没有直接等效于coreimage的工具。

    但是,将片段着色器堆叠在一起并不是很困难,所以如果您不介意学习opengl,那么构建一个框架将着色器应用于输入图像并将结果绘制到hdc是完全可行的。

        2
  •  0
  •   jrk    16 年前

    土坯新品 Pixel Blender 是最接近的技术。它是跨平台的——它是Flash10运行时的一部分,也是面向关键像素的CS4应用程序,即AfterEffects和Photoshop。不过,目前还不清楚在这一点上,嵌入到其他应用程序中的风险有多大。在最极端的情况下,应该可以通过嵌入一个flash视图来嵌入,但这显然比我们想象的要多。

    还有至少一个较小规模的第三方产品: Conduit Pixel Engine . 但它是商业性的,没有明确列出许可价格。

        3
  •  0
  •   Jim Crafton    16 年前

    我现在有办法了。我实现了一个imagecontext类、一个特殊的image类和一个filter类,它允许类似于apple的coreimage的功能。这三种方法都使用opengl(由于图像质量问题,我放弃了在directx上使用它,如果有人很了解directx,请与我联系,因为我希望有一个dx版本)来将图像渲染到上下文中,并使用过滤器来应用它们的效果(作为hlgl frag着色器)。这里有一篇简短的文章: ImageKit 一个例子过滤器的屏幕截图和一些示例源代码。