【问题标题】:What is the equivalent to Java's canvas object in C#?C#中Java的canvas对象等价于什么?
【发布时间】:2010-03-31 15:51:31
【问题描述】:

我正在创建一个基本应用程序,让用户可以绘制(使用一系列点),我打算用这些点做点什么。

如果这是 Java,我想我可能会使用画布对象和一些 Java2D 调用来绘制我想要的东西。

我读过的所有关于 C#/Drawing 的教程都涉及编写自己的绘制方法并将其添加到表单的绘制事件中。但是,我也有兴趣拥有一些传统的表单控件,我不想在它们上面画图。那么,是否有一个“Canvas”对象可以限制我正在绘制的内容?

另外,考虑到这个用例,WinForms 是不是一个糟糕的选择? WPF 会有更多的功能来帮助我做我想做的事吗?还是银光?

【问题讨论】:

    标签: c# .net graphics drawing


    【解决方案1】:

    位图可以正常工作,使用 PictureBox.Image 属性显示它。使用 Graphics.FromImage() 获取您需要在位图上绘制的 Graphics 对象。使用 PictureBox.Invalidate() 让 PB 知道它需要更新屏幕上的图像。

    【讨论】:

      【解决方案2】:

      嗯,WPF 中有一个名为“canvas”的control 可能适合您。如果您使用的是 Windows 窗体,我认为最好的选择是使用 panel 控件。 Windows 窗体绝不是一个糟糕的选择。事实上,使用它们时,您甚至可以开发跨平台的应用程序。但是,WPF 在某些方面更“丰富”。我认为,如果您不针对任何其他平台,并且不必坚持使用 .NET 2.0,WPF 是首选(尤其是,如果您要在应用程序中使用某些图形,因为 WPF 使用硬件加速)。

      【讨论】:

        猜你喜欢
        • 2010-09-21
        • 1970-01-01
        • 2011-12-10
        • 2023-02-02
        • 2011-04-30
        • 1970-01-01
        • 2010-10-28
        • 1970-01-01
        • 2023-03-25
        相关资源
        最近更新 更多