我只想在C#中绘制简单的2D对象,比如圆形、直线、正方形等。我该怎么做?回想起Turbo C++时代,我记得初始化了一些图形库来完成相同的操作。在.NET中需要做类似的事情吗?对于3D对象有什么不同吗?像DirectX这样的东西会使它更容易吗?非常感谢任何教程或示例链接。
正如其他人所说,可以查看System.Drawing。System.Drawing将GDI+ Windows绘图库暴露给您的应用程序。
一个很好的教程可以帮助您快速入门System.Drawing和GDI+,可以在C# Corner找到。
需要注意以下一些重要事项:
using
块中。请确保遵守适当的处理约定;未能处理GDI+对象可能会导致应用程序产生非常严重的副作用。 (.NET中的GDI+对象对应于它们底层的Windows API等效项。)以下是一个简单的代码示例,它可以帮助您入门(假设您有一个名为pictureBox1的PictureBox):
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;
图形对象有许多其他绘图方法,而Intellisense会向您展示如何调用它们。
了解GDI、GDI+和System.Drawing命名空间,请参阅此处。
DirectX不是用于绘制简单形状的工具,而是用于渲染复杂的三维物体。同时,在C#中使用DX API可能有些棘手(虽然并不难)。
请查看 System.Drawing 命名空间
你需要使用GDI+。
如何实现略有不同取决于你想在哪里绘制。你可以在控件或窗体上绘制,也可以在图片对象上绘制。无论哪种方式,你都需要一个System.Drawing.Graphics对象,我相信它位于System.Drawing.dll中。
你可以实例化一个新的Bitmap类并调用Graphics.FromImage(myImage),然后使用刚创建的Graphics对象上的方法进行绘制。如果你想在表单或控件上绘制,只需覆盖OnPaint方法并查看EventArgs类上的Graphics属性即可。
有关System.Drawing命名空间的更多信息,请参见http://msdn.microsoft.com/en-us/library/system.drawing.aspx。
GDI+使用System.Drawing