为何选择WPF? (作为2D矢量图形API)

时间:2010-01-27 02:55:23

标签: wpf

我有一个2D矢量图形的可视化模块。所有对绘图API的调用都在那里严格隔离。我希望能够通过重新实现模块将一个绘图API替换为另一个绘图API。用于可视化的所有数据通过名为Ixxx的单个接口传输到模块中。我可以选择GDI +(通过WinForms)和WPF,那么我为什么要选择最后一个呢?有什么原因吗?

在对朋友之间转换为WPF的常见案例进行一些分析后,我发现主要原因是:

  1. WPF更新/更酷/更现代/更有趣/等等等等。
  2. Ixxx设计得不够抽象(例如,传输原始XAML)或者它根本不存在(任何模块都会根据需要绘制任何内容。当然,如果你没有自己的图形描述解决方案,那么使用XAML比使用任何东西并分享普通HDC更好。
  3. 同样,对于任何给定的API,我都不打算“卖掉我的灵魂”(详见AJ& TZ),我只想暂时“租借它”。除了在同一个地方绘制所有数据之外,它意味着不使用任何API。

    此致 哔叽。

2 个答案:

答案 0 :(得分:4)

  • WPF专为矢量图形而设计。 GDI +适用于光栅图形。
  • WPF将使用您计算机的图形处理器。 GDI +将在CPU中完成所有工作。
  • WPF有一个全新的API,重点是易用性。 GDI +是古老的(Windows 3.x天),专注于我们现在认为极低功耗硬件的性能。
  • WPF有一个我们大多数人都不理解的全新API。每个人都知道如何使用GDI +。
  • 学习2D WPF,你有3D WPF的基础。在GDI +之后,您需要重新开始使用Direct3D。

注意:我不是图形人员,我编写业务应用程序。这主要基于营销文献和很少的测试程序。

答案 1 :(得分:3)

WPF图形是硬件加速的。我认为这是一个重要的考虑因素。它是一个非常灵活的2D图形API,并且拥有良好的在线社区。

这个库值得一看,看看WPF可以做什么:http://dynamicdatadisplay.codeplex.com/