C#基础图形编程:绘制并填充矩形实例

21 下载量 144 浏览量 更新于2025-02-26 2 收藏 13KB RAR 举报
在C#中进行图形绘制是.NET Framework中GDI+图形接口提供的基础功能之一,而矩形的绘制与填充是其中最常见的操作之一。本篇知识点将详细介绍如何在C#中绘制并填充一个矩形,基于的是.NET Framework环境下的Windows Forms应用程序,并以Visual Studio 2010作为开发工具。 首先,理解C#中绘图的基础概念是必要的。C#中的绘图操作主要通过Graphics类来完成,这是.NET Framework提供的用于在控件上绘制图形的主要类。Graphics对象可以通过控件的Paint事件或者在继承自Control类的类中重写OnPaint方法中获取。 绘制矩形的基本步骤如下: 1. 创建一个Windows Forms应用程序。 2. 在窗体的Paint事件处理程序中获取Graphics对象。 3. 使用Graphics对象的DrawRectangle方法绘制矩形轮廓。 4. 使用FillRectangle方法填充矩形内部。 填充矩形时,需要指定一个Brush对象。Brush是用于填充图形的抽象基类,C#提供了多种不同的Brush派生类,如SolidBrush、HatchBrush等。使用SolidBrush时,可以指定一个Color对象来定义填充颜色。 以下是一个简单的C#示例代码,展示如何创建一个窗体程序,并在其中绘制并填充一个矩形: ```csharp using System; using System.Drawing; using System.Windows.Forms; namespace DrawRectangleExample { public partial class Form1 : Form { public Form1() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); // 获取Graphics对象 Graphics graphics = e.Graphics; // 设置矩形的位置和大小 Rectangle rectangle = new Rectangle(10, 10, 100, 50); // 创建一个填充颜色为蓝色的SolidBrush对象 using (Brush brush = new SolidBrush(Color.Blue)) { // 使用Brush对象填充矩形 graphics.FillRectangle(brush, rectangle); // 使用黑色画笔绘制矩形轮廓 Pen pen = new Pen(Color.Black); graphics.DrawRectangle(pen, rectangle); } } } static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } ``` 在这段代码中,我们创建了一个名为`Form1`的窗体类,并重写了`OnPaint`方法来处理绘图事件。在`OnPaint`方法中,我们首先获取了一个`Graphics`对象。然后,我们定义了一个`Rectangle`对象来表示矩形的位置和大小。接着,我们创建了一个`SolidBrush`对象,并使用它来填充矩形的内部区域。最后,我们创建了一个`Pen`对象,并用它来绘制矩形的轮廓。 需要注意的是,本例中的代码运行环境是Visual Studio 2010,并且是在.NET Framework平台上开发的。这意味着,为了编译和运行这段代码,你必须安装相应的开发环境和.NET Framework版本。 源代码中使用的命名空间为`System.Drawing`,它提供了绘图和图像处理所需的类和方法。通过引用这个命名空间,我们才能使用`Graphics`、`Rectangle`、`Brush`、`SolidBrush`、`Pen`等类型。 最后,通过本示例代码的学习,我们可以掌握C#中绘制和填充矩形的基础知识。进一步地,我们可以将这些基础应用到更复杂的图形绘制和图像处理项目中,比如制作自定义控件、游戏开发中的图像渲染、或者创建视觉丰富的用户界面元素。
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部