C#利用GDI绘制常见图形和文字
程序员文章站
2022-04-28 21:05:39
废话不多说,我们先来认识一下这个gdi+,看看它到底长什么样。
gdi+:graphics device interface plus也就是图形设备接口,提供了各种丰富的...
废话不多说,我们先来认识一下这个gdi+,看看它到底长什么样。
gdi+:graphics device interface plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在c#.net中,使用gdi+处理二维(2d)的图形和图像,使用directx处理三维(3d)的图形图像,图形图像处理用到的主要命名空间是system . drawing:提供了对gdi+基本图形功能的访问,主要有graphics类、bitmap类、从brush类继承的类、font类、icon类、image类、pen类、color类等.
大概了解了什么是gdi+后,我们直接用几个示例,来向大家展示它能做什么吧。
1.画一条直线
复制代码 代码如下:
private void btndrawline_click(object sender, eventargs e)
{
//创建一个画图图面
graphics g = this.creategraphics();
//创建一只笔
pen pen = new pen(brushes.red);
//直线的两个坐标
point pointstart = new point(10, 10);
point pointend = new point(50, 50);
//开始画
g.drawline(pen, pointstart, pointend);
}
{
//创建一个画图图面
graphics g = this.creategraphics();
//创建一只笔
pen pen = new pen(brushes.red);
//直线的两个坐标
point pointstart = new point(10, 10);
point pointend = new point(50, 50);
//开始画
g.drawline(pen, pointstart, pointend);
}
2.画一个矩形
复制代码 代码如下:
private void btndrawrectangle_click(object sender, eventargs e)
{
//创建一个画图图面
graphics g = this.creategraphics();
//创建一只笔
pen pen = new pen(brushes.deepskyblue);
//确定矩形的起点、长和高
g.drawrectangle(pen, 50, 50, 60, 30);
}
{
//创建一个画图图面
graphics g = this.creategraphics();
//创建一只笔
pen pen = new pen(brushes.deepskyblue);
//确定矩形的起点、长和高
g.drawrectangle(pen, 50, 50, 60, 30);
}
3.画一个字符串
复制代码 代码如下:
private void btndrawstring_click(object sender, eventargs e)
{
graphics g = this.creategraphics();
font font = new font("华为宋体", 12);
//point一样,只是值是浮点类型
pointf point = new pointf(50, 50);
g.drawstring("我是kimisme", font, brushes.coral, point);
}
{
graphics g = this.creategraphics();
font font = new font("华为宋体", 12);
//point一样,只是值是浮点类型
pointf point = new pointf(50, 50);
g.drawstring("我是kimisme", font, brushes.coral, point);
}
4.画一个扇形
复制代码 代码如下:
private void btndrawsector_click(object sender, eventargs e)
{
graphics g = this.creategraphics();
g.drawpie(new pen(brushes.green),
new rectangle(new point(100, 70),
new size(50, 50)), 60, 90);
}
{
graphics g = this.creategraphics();
g.drawpie(new pen(brushes.green),
new rectangle(new point(100, 70),
new size(50, 50)), 60, 90);
}