C#利用GDI绘制常见图形和文字攻略
简介
GDI(Graphics Device Interface)是Windows图形设备接口,提供了一系列绘制函数,使用GDI可以实现对Windows图形界面的高级控制。C#通过PInvoke方法可以调用GDI的各个函数,通过GDI实现绘制图形和文字,可用于Windows窗体界面设计。本攻略将介绍如何使用C#和GDI绘制常见的图形和文字。
准备
在C#的Windows Form程序中使用GDI绘图,需要先导入System. Drawing
和 System. Drawing. Imaging
命名空间。在一个窗体(Form)中定义一个picturebox控件,用于输出图像。
绘制线段
绘制线段需要使用Graphics.DrawLine
方法,该方法有如下形式:
public void DrawLine(
Pen pen, //画笔
Point pt1, //起始点
Point pt2 //终止点
);
示例:
private void DrawLineBtn_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics(); //获取picturebox的绘图图面
Pen pen = new Pen(Color.Black, 2); //画笔颜色为黑色,宽度为2像素
Point p1 = new Point(50, 50);
Point p2 = new Point(150, 100);
g.DrawLine(pen, p1, p2); //绘制直线
pen.Dispose(); //释放资源
g.Dispose();
}
绘制矩形
绘制矩形需要使用Graphics.DrawRectangle
方法,该方法有如下形式:
public void DrawRectangle(
Pen pen, //画笔
Rectangle rect //矩形外接矩形
);
示例:
private void DrawRectBtn_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics(); //获取picturebox的绘图图面
Pen pen = new Pen(Color.Black, 2); //画笔颜色为黑色,宽度为2像素
Rectangle rect = new Rectangle(100, 100, 100, 50); //矩形外接矩形
g.DrawRectangle(pen, rect); //绘制矩形
pen.Dispose(); //释放资源
g.Dispose();
}
绘制文本
绘制文本需要使用Graphics.DrawString
方法,该方法有如下形式:
public void DrawString(
string s, //字符串
Font font, //字体
Brush brush, //画刷
PointF point, //起始绘制点
);
示例:
private void DrawTextBtn_Click(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics(); //获取picturebox的绘图图面
Font font = new Font("宋体", 16); //定义字体
Brush brush = Brushes.Red; //定义画刷颜色
PointF point = new PointF(100, 100); //起始点
g.DrawString("Hello, world!", font, brush, point); //绘制文本
font.Dispose(); //释放资源
g.Dispose();
}
总结
本攻略介绍了利用C#和GDI绘制常见的图形和文字的方法,主要使用了Graphics
类和Pen
类、Brush
类、Font
类等。尤其需要注意释放资源,防止资源泄漏。这里只是列举了几个简单的示例,读者可以继续深入学习,实现更多丰富的绘图效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#利用GDI绘制常见图形和文字 - Python技术站