c#创建画布_WinForm GDI编程:Graphics画布类

命名空间:

using System.Drawing;//提供对GDI+基本图形功能的访问

using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能

using System.Drawing.Imaging;//提供高级GDI+图像处理功能

using System.Drawing.Printing;//提供打印相关服务

using System.Drawing.Text;//提供高级GDI+排版功能

using System.Drawing.Design;//扩展设计时,用户界面逻辑和绘制的类。用于扩展,自定义

画图工具:

Graphics(画布):类封装一个GDI+绘图图面,提供将对象绘制到显示设备的方法,Graphics与特定的设备上下文关联。画图方法被包括在  Graphics类中,在画任何对象之前都需要创建一个Graphics类实例作为画图

创建画布三种方法:

1.利用控件或窗体的Paint事件的PaintEventArgs

适用场景:为控件创建绘制代码。

//窗体的Paint事件响应方法:

private void Form1_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;

}

//直接重载控件或者窗体的OnPaint方法:

protected override void OnPaint(PaintEventArgs e)

{

base.OnPaint(e);

Graphics g = e.Graphics;

}

注意:Paint事件在重绘控件时发生

2.调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示控件或窗体的绘图图面。

适用场景:在已经存在的窗体或控件上绘图

private void button1_Click(object sender, EventArgs e)

{

Graphics g = this.CreateGraphics();

g.Dispose();

}

3.由从Image继承的任何对象创建Graphics对象

适用场景:需要更改已经存在的图像

private void button1_Click(object sender, EventArgs e)

{

Image img = Image.FromFile(@"images\pic.jpg");

Graphics g=Graphics.FromImage(img);

}

Winform是Windows平台上的图形用户界面框架,而GDI是Windows平台上的图形设备接口。Winform在图形渲染的部分使用了GDI来实现界面的显示和绘制。下面我会简单介绍一下Winform GDI的流程。 首先,在Winform中,当我们需要在窗口中绘制一个控件或者图形时,我们需要先创建一个Graphics对象。Graphics对象是GDI库中用来绘制图形和文本的,通过它我们可以实现各种形状、颜色、字体、文本等各种元素的绘制。 接下来,我们需要指定Graphics对象的画布(Canvas),画布是我们绘制图形的目标,一般是一个窗口或者一个控件。在Winform中,我们可以通过在窗口中重写OnPaint方法或者在控件中重写Paint事件来指定画布。 然后,在绘制图形之前,我们需要设置Graphics对象的画笔(Pen)和画刷(Brush)。画笔用来指定绘制线条时的颜色、粗细等属性;画刷用来指定填充图形时的颜色、渐变、纹理等属性。 最后,我们就可以通过Graphics对象的各种方法来绘制图形了,例如:DrawLine绘制直线、DrawRectangle绘制矩形、DrawEllipse绘制椭圆等。在绘制完图形后,我们可以清除画布或者释放Graphics对象,以便下一次的绘制。 总的来说,Winform GDI的流程就是:创建Graphics对象,指定画布,设置画笔和画刷,绘制图形。这些步骤是实现Winform界面显示和绘制的基础。通过对Winform GDI的了解,我们可以更深入地理解Winform的图形渲染机制,进而实现更灵活、美观的图形界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值