C#利用GDI绘制常见图形和文字

 更新时间:2016年03月28日 09:45:19   作者:Kimisme  
本文主要介绍了C#中利用GDI来绘制图形和文字的方法,并提供的简单的示例供大家参考学习,希望能够对大家有所帮助。

废话不多说,我们先来认识一下这个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);
}

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);
}

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);
}

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);
}

相关文章

  • C# Winform 实现TCP发消息

    C# Winform 实现TCP发消息

    这篇文章主要介绍了C# Winform 实现TCP发消息的示例,帮助大家更好的理解和学习使用c#技术,感兴趣的朋友可以了解下
    2021-03-03
  • C#使用iTextSharp库将图片转换为PDF

    C#使用iTextSharp库将图片转换为PDF

    iTextSharp 是一个开源的 .NET 库,主要用于创建和操作 PDF 文档,本文主要介绍了如何使用 C# 和 iTextSharp 将图片转换为 PDF 的功能,需要的可以参考下
    2024-12-12
  • unity实现车方向盘转动效果

    unity实现车方向盘转动效果

    这篇文章主要为大家详细介绍了unity实现车方向盘转动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • c#字符长度查询代码

    c#字符长度查询代码

    下面的代码用了查询字符串中的一些类型,需要的朋友可以参考下
    2012-06-06
  • C#中的不可变数据类型介绍(不可变对象、不可变集合)

    C#中的不可变数据类型介绍(不可变对象、不可变集合)

    这篇文章主要介绍了C#中的不可变数据类型介绍(不可变对象、不可变集合),本文讲解了不可变对象、自定义不可变集合、Net提供的不可变集合、不可变优点、不可变对象缺点等内容,需要的朋友可以参考下
    2015-04-04
  • C# 输出参数out问题

    C# 输出参数out问题

    这篇文章主要介绍了C# 输出参数out问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C# CheckedListBox控件的用法总结

    C# CheckedListBox控件的用法总结

    本篇文章主要介绍了C# CheckedListBox控件的用法总结,想要学习CheckedListBox的同学可以了解一下。
    2016-12-12
  • C#调用WebService的方法介绍

    C#调用WebService的方法介绍

    这篇文章介绍了C#调用WebService的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#中使用XmlDocument类来创建和修改XML格式的数据文件

    C#中使用XmlDocument类来创建和修改XML格式的数据文件

    这篇文章主要介绍了C#中使用XmlDocument类来创建和修改XML格式的数据文件的方法,XmlDocument类被包含在.NET框架中,需要的朋友可以参考下
    2016-04-04
  • C#实现win10 uwp 右击浮出窗在点击位置

    C#实现win10 uwp 右击浮出窗在点击位置

    本文主要让MenuFlyout出现在我们右击位置。我们建一个ListView,然后绑定后台,在我们ListView要右击显示我们的浮出,要求我们的浮出在我们点击位置
    2016-10-10

最新评论