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

yizhihongxing

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

简介

GDI(Graphics Device Interface)是Windows图形设备接口,提供了一系列绘制函数,使用GDI可以实现对Windows图形界面的高级控制。C#通过PInvoke方法可以调用GDI的各个函数,通过GDI实现绘制图形和文字,可用于Windows窗体界面设计。本攻略将介绍如何使用C#和GDI绘制常见的图形和文字。

准备

在C#的Windows Form程序中使用GDI绘图,需要先导入System. DrawingSystem. 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技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • 一次mysql的.ibd文件过大处理过程记录

    一、前言 MySQL是广泛使用的关系型数据库管理系统,.ibd文件是MySQL的数据文件之一,记录了InnoDB数据表的索引和数据。 在MySQL使用过程中,常会遇到.ibd文件过大的情况,会给数据库的维护和性能带来不良影响。在这篇文章中,我们将分享一系列处理.ibd文件过大的方法和步骤。 二、方法概述 分析过大.ibd文件的原因; 采取相应的数据迁移、优化…

    database 2023年5月18日
    00
  • centos 6.7 下安装 redis-3.2.5的步骤

    下面我将为你详细讲解 “centos 6.7 下安装 redis-3.2.5 的步骤”。 确认环境 在安装 redis-3.2.5 之前,需要先确认以下环境是否满足要求: 系统环境:CentOS 6.7 网络环境:能够访问互联网 系统环境:至少512MB内存 安装redis-3.2.5 安装依赖库 在安装 redis-3.2.5 之前,需要先安装一些依赖库。…

    database 2023年5月22日
    00
  • Mysql 如何查询时间段交集

    当我们需要查询两个时间段是否有交集时,可以使用 MySQL 中的 BETWEEN 运算符及逻辑运算符 AND,在查询时指定两个时间段,通过两个时间段的开始时间和结束时间来判断两个时间段是否存在交集。 以下是查询时间段交集的完整攻略: 1. 确认时间段字段 在进行查询时间段交集之前,首先需要确认所查询的表中存在两个时间段字段,例如:开始时间(start_tim…

    database 2023年5月22日
    00
  • Linux系统上Gitlab客户端安装配置全攻略

    Linux系统上Gitlab客户端安装配置全攻略 安装Git客户端 首先需要在Linux系统上安装Git客户端,以Ubuntu为例,在终端中输入以下命令进行安装: sudo apt-get update sudo apt-get install git 安装并配置Gitlab客户端 进入Gitlab官网,注册账号并登录。 在个人首页的右上角,点击“设置”按钮…

    database 2023年5月22日
    00
  • SQL 计算简单的小计

    计算小计是SQL基础知识之一,可以用于快速统计数据并进行简单的数据分析。下面提供SQL计算小计的完整攻略。 什么是小计 小计是对一组数据进行汇总计算的方法。在SQL语言中,小计可以被定义为对某个字段的计算结果,如对某个分类下的数量、总和、平均数等等。 如何计算小计 计算小计需要使用SQL的聚合函数。聚合函数是用于对数据执行计算并返回单个值的函数。 SQL 聚…

    database 2023年3月27日
    00
  • 主键和唯一键之间的区别

    主键(Primary Key)和唯一键(Unique Key)都是数据库中用于唯一标识某个记录的关键字段,并且在数据库中进行数据处理时非常重要。虽然主键和唯一键都具有唯一性的特点,但它们之间还存在一些差别。 主键 定义 主键是唯一标识一张数据库表中某一行数据的字段或属性。主键在数据库表中必须唯一、非空,且不允许重复。一般情况下,主键是一个整数类型的自增长字段…

    database 2023年3月27日
    00
  • MySQL中ADDDATE()函数的使用教程

    MySQL中ADDDATE()函数的使用教程 介绍 ADDDATE()函数用于向日期加上一定的时间间隔。可以将间隔以各种方式指定,例如天数、周数、月数、年数等。它的语法如下: ADDDATE(date, INTERVAL expr unit) 其中,date参数是日期表示,可以是一个日期直接量,也可以是从另一个函数、列、子查询或用户定义的变量中获得的值。ex…

    database 2023年5月22日
    00
  • [视频教程] 使用docker的方式安装redis

    直接使用docker拉取redis的镜像,并且进行端口映射与文件目录共享,这样可以直接在宿主机的端口上就可以进行访问了。其实本质上也是在一个简化版的ubuntu的容器内安装好的redis-server服务。 将docker修改为163镜像源在/etc/docker/daemon.json文件中添加下面参数{ “registry-mirrors” : [“ht…

    Redis 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部