C语言简单图形代码:如何在 C#中绘制简单的图形(graphics in c#)

我只想在 C # 中绘制简单的 2D 对象,如圆,线,正方形等。我该怎么做?回到 Turbo C ++ 的日子,我记得初始化一些图形库来做同样的事情。我需要在.NET 中做类似的事情吗?对于 3D 对象有什么不同吗?像 DirectX 这样的东西会让这变得更容易吗?任何教程或样本的链接都非常感谢。

22

正如其他人所说,请查看System.Drawing。(我只是为了完整性而重复一遍。)System.Drawing 向您的应用程序公开GDI+Windows 绘图库。

可以在C# Corner找到一个很好的教程,帮助您快速入门 System.Drawing 和 GDI +。

需要注意的一些重要事项:

许多 GDI + 对象实现 IDisposable 接口,因此应包装在using块中。请确保遵循适当的处置约定;未能处置 GDI + 对象可能会给您的应用程序带来非常讨厌的副作用。(.NET 中的 GDI + 对象对应于其底层 Windows API 等效项。)

像 DirectX 这样的 API 非常复杂,而且有很好的理由。它们不是为简单的形状而设计的,而是为复杂、高性能和高交互性的多媒体应用程序而设计的。(换句话说,通常是游戏。) 您可以通过托管 DirectX 接口访问 DirectX,但同样,对于您的直接目的来说,这可能是过度的。

如果您对使用 DirectX 的更简单方法感兴趣,则XNA是可行的方法。但是,这在很大程度上是一个特定于游戏的库,而且很可能会大材小用。我参加聚会有点晚了,但是根据的评论,这根本不再受支持。(这是有道理的;多年来我没有听到任何有关它的消息。)

15

是一个简单的代码示例,将让你开始(假设你有一个名为 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 将向您展示如何调用它们。

3

阅读 GDI,GDI +,System.Drawing 命名空间,例如here
DirectX 不是用来绘制简单形状的东西,而是渲染复杂的 3D 东西,在 C # 下使用 DX Api 有点棘手(虽然不是那么难)。

1

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(80)
Ios截图设置:SwiftiOS中的屏幕截图
上一篇
血常规cbc模式:128位模式的 CBC加密块大小(aes cbc block size)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(5条)