WPF与System.Drawing的区别

3
我需要在 .Net 中编写一个简单的控件,绘制几何图形,如下图所示。这些几何图形不会变得比图中所示更加复杂,即将是一些填充的多边形和一些虚线。这不是静态图像,而是需要不断更新的动态图像。用户可以更改几何图形的尺寸,必须通过更新来反映在绘画中。
我的上级建议我使用 WPF 进行绘图。我的问题是,对于这种工作,WPF 是否过于复杂,System.Drawing 是否足够?
3个回答

4
虽然WPF可能具有绘图功能,但它与WinForms是完全不同的UI工具包。如果您计划最终将应用程序移植到WPF,则可以使用它来绘制图像,但否则我真的不明白为什么您要引入WPF来绘制一个图片。这对我来说似乎过度了。
您可以在MSDNWindowsClient.net上了解有关WPF的更多信息。

3
事实上,你不能仅仅因为想画上述的东西就决定使用WPF/Winform。你可以很容易地在System.Drawing中画出上述的东西。
更有趣的是以下内容: 上述工件是否由某个复杂对象表示?如果是这样,你可以教WPF以上述方式渲染该对象。如果你有一个程序,例如动态更改基本尺寸,则可以告诉WPF,如果你在对象中更改了这些值,则必须同步更改其显示。
总的来说,这两种技术相当不同,但我认为WPF更完整 - 即使如此,我个人认为WPF比其可能性慢得多的采用要早几年。

-1

WPF是一种用于标准GUI控件(按钮,文本框等)的新框架,但对于绘制自定义图像,特别是如果它们不是控件,则与WinForms几乎相同。

由于WinForms使用GDI进行绘制,而WPF使用DirectX,因此存在一些绘制差异,但对于直接绘制,两者大多数情况下都是等效的。

现在,如果绘图是交互式控件,则WPF具有优势,因为比在WinForms中更容易自定义标准控件的绘制。

所以问题变成了,绘图做什么?如果一个标准控件可以执行相同的功能,只需更改其外观,那么您需要的就是WPF。


你不应该暗示这些差异并不多。它们是巨大的。 - Jonathan C Dickinson
除非您使用内置控件,否则绘图就是绘图。直线就是直线,椭圆形就是椭圆形。它们之间没有太大的区别。 - Cameron MacFarland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接