首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GDI+的替代方案

GDI+的替代方案
EN

Stack Overflow用户
提问于 2012-12-29 05:39:09
回答 2查看 6.1K关注 0票数 7

我喜欢GDI+是因为它的高性能,而且它包含在Windows XP中。然而,它的模糊类和效果类只在Windows Vista或更高版本的GDI+ 1.1中可用。尽管微软计划很快放弃对Windows XP的支持,但仍有很大比例的人仍然坚持使用XP。如果您开发了任何面向消费者的软件,则必须支持Windows XP。但不幸的是,GDI+ 1.1不能在XP下重新分发。

我尝试了几个开源图像库。然而,当涉及到性能时,例如高斯模糊操作,它们比gdi+慢得多。

有谁能推荐一个更好的替代支持XP的GDI+的方法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-12-30 13:10:32

我很惊讶你会发现GDI+ Blur基于它的性能很有吸引力。

请注意,与GDI的前身不同,GDI+不是硬件加速的(基于CPU的渲染)-有关XP、Vista、W7上的GDI/GDI+的一些详细信息,请参阅this article,其中包括一些比较两者的基本渲染基准。

正如Abdias Software提到的,WPF BlurEffect是一个很好的解决方案,因为它使用DirectX进行渲染。

高性能高斯模糊的另一种选择是实现基于GPU的模糊(通过一些GPU加速的API中的着色器,例如OpenGL/GLSL、DirectX或Direct2D),例如:http://callumhay.blogspot.com/2010/09/gaussian-blur-shader-glsl.html

票数 3
EN

Stack Overflow用户

发布于 2012-12-29 06:36:29

GDI+已经在Legacy graphics下进行了排序。

微软现在接受的替代方案是Windows Presentation Foundation,简称WPF。这在XP下也是可用的,并且比GDI+具有更好的性能。

或者像我们在过去所做的那样,从头开始编写代码(尽管这并不适合每个人)。或者,您可以通过锁定位图直接操作缓冲区,并通过字节数组添加卷积或平均(如模糊中所使用的)。

注意: GDI+确实通过它的Matrix类支持卷积。

还有更低级、更高性能的DirectX

就我个人而言,我喜欢/更喜欢GDI+,并在需要时使用缓冲区操作。我并不担心这个或XP会很快消失,即使微软放弃了它的支持。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14076141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档