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

所属分类: 软件编程 / C#教程 阅读数: 46
收藏 0 赞 0 分享

废话不多说,我们先来认识一下这个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#学习笔记之状态模式详解

这篇文章主要为大家详细介绍了C#学习笔记之状态模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C# 字符串、数组和List的截取和转换实例

下面小编就为大家分享一篇C# 字符串、数组和List的截取和转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

c#打包文件解压缩的实例

下面小编就为大家分享一篇c#打包文件解压缩的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈C#跨线程调用窗体控件(比如TextBox)引发的线程安全问题

下面小编就为大家分享一篇浅谈C#跨线程调用窗体控件(比如TextBox)引发的线程安全问题,具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享

判断一个整数是否是2的N次幂实现方法

下面小编就为大家分享一篇判断一个整数是否是2的N次幂实现方法,实例简洁,具有很好的参考价值。希望对大家有所帮助
收藏 0 赞 0 分享

浅谈c#中config.exe 引发的一些问题

下面小编就为大家分享一篇浅谈c#中config.exe 引发的一些问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

基于C#开发中的那些编码问题(详谈)

下面小编就为大家分享一篇基于C#开发中的那些编码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

C#实现WPS文件转PDF格式的方法示例

这篇文章主要介绍了C#实现WPS文件转PDF格式的方法,涉及C#针对office组件的相关引用与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#实现的文件上传下载工具类完整实例【上传文件自动命名】

这篇文章主要介绍了C#实现的文件上传下载工具类,结合完整实例形式分析了C#操作文件上传与下载功能,并且还可针对上传文件自动命名以避免服务器中的文件名重复,需要的朋友可以参考下
收藏 0 赞 0 分享

C# Socket 发送&接收&返回 简单应用实例

下面小编就为大家分享一篇C# Socket 发送&接收&返回 简单应用实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多