如何绘制在C#中简单的图形?(How do I draw simple graphics in C#

2019-07-01 22:42发布

我只是想画一样圆,直线,方形等,在C#简单的2D对象。 我怎么做? 早在涡轮C ++天我记得初始化做同样的一些图形库。 我需要做的.NET类似的东西? 它是3D对象有什么不同? 之类的东西的DirectX将使这变得更容易? 到教程或样本的任何链接大加赞赏。

Answer 1:

正如其他人所说,退房System.Drawing中 。 (我只重复说的完整性。)System.Drawing中暴露了GDI +的Windows绘图库到应用程序。

一个好的教程,让你跳开始System.Drawing中和GDI +,可以发现C#角 。

一些重要事项需要注意:

  1. 许多GDI +对象实现IDisposable接口,并且因此应该被包裹在using块。 要确保你遵循适当的处置公约; 未能处置可能导致真正讨厌的副作用为您的应用程序GDI +的对象。 (在.NET GDI +对象对应于它们的底层的Windows API当量。)
  2. API,例如DirectX是极其复杂的,有很好的理由。 他们设计不是简单的形状,而是复杂的,高度高性能和高交互性的多媒体应用。 (换句话说,游戏,典型的。)你可以通过托管DirectX接口访问DirectX的,但同样,它可能是矫枉过正您的直接目的。
  3. 如果你有兴趣在一个更简单的方法与DirectX工作, XNA是要走的路。 然而,这是非常具体的游戏库,并重新很可能是矫枉过正。 我有点迟到了,但根据下面的评论中,这已不再被支持。 (这是有道理的,我还没有听到任何关于它的年。)


Answer 2:

这里,将让你开始一个简单的代码示例(假定你有一个名为pictureBox1图片框):

Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
using (Graphics g = Graphics.FromImage(bmp))
{
    g.DrawLine(new Pen(Color.Red), 0, 0, 10, 10);
}
pictureBox1.Image = bmp;

图形对象有一堆其他的绘制方法,以及智能感知会告诉你如何给他们打电话。



Answer 3:

阅读关于GDI,GDI +,System.Drawing命名空间,例如这里 。
DirectX是不是你会用它来绘制简单的图形,而渲染复杂的3D的东西,另外,在C#中使用DX API是有点麻烦(虽然并不难)。



Answer 4:

退房System.Drawing命名空间: http://msdn.microsoft.com/en-us/library/system.drawing.aspx



Answer 5:

看看System.Drawing命名空间



Answer 6:

寻找在.NET 托管Direct3D图形API



Answer 7:

您需要使用GDI +。

你如何做到这一点上你想画什么略有依赖。 你可以画上一个控件或形式,或者您可以将图像对象上绘制。 无论哪种方式,你需要一个System.Drawing.Graphics对象,我相信位于System.Drawing.dll程序。

您可以实例化一个新的Bitmap类和调用Graphics.FromImage(MYIMAGE),然后绘制使用刚创建的图形的方法对象。 如果你想画一个窗体或控件上只覆盖OnPaint方法,然后查看EventArgs类的图形性能。

在这里System.Drawing命名空间的更多信息: http://msdn.microsoft.com/en-us/library/system.drawing.aspx



Answer 8:

GDI +使用System.Drawing中



文章来源: How do I draw simple graphics in C#?