C#速成(GID+图形编程)

server/2024/12/18 19:45:10/

常用类

说明
Brush填充图形形状,画刷
GraphicsGDI+绘图画面,无法继承
Pen定义绘制的对象直线等(颜色,粗细)
Font定义文本格式(字体,字号)

常用结构

结构说明
Color颜色
Point在平面中定义点
Rectangle矩形,四个参数

1、画直线

使用Graphics类中的DrawLine方法

第一步创建画板,创建画笔,

Graphics g = this.CreateGraphics();   //创建画板
Pen p = new Pen(Color.Red, 4);  //生产画笔
//(参数1颜色,参数二线的宽度)
g.DrawLine(p, 100, 100, 200, 100);//画直线 
//(参数一画笔,参数二x1的坐标,参数三y1的坐标,参数四x2的坐标,参数五y2的坐标)
p.Dispose();//释放资源
g.Dispose();

2、画矩形(正方形、长方形)

使用Graphics类中的DrawRectangle方法

Graphics g = this.CreateGraphics(); 	//创建画板
Pen p = new Pen(Color.Red,4);	//生产画笔
//(参数1颜色,参数二线的宽度)
g.DrawRectangle(p,100,100,200,100);//画长方形 
//(参数一画笔,参数二x的坐标,参数三y的坐标,参数四宽度,参数五高度)
p.Dispose();//释放资源
g.Dispose();

3、画椭圆(正圆)

使用Graphics类中的DrawEllipse方法

Graphics g = this.CreateGraphics();     //创建画板
Pen p = new Pen(Color.Red, 4);  //生产画笔
//(参数一颜色,参数二线的宽度)
Rectangle r = new Rectangle(50, 50, 50, 50);//定义矩形
//参数一x坐标,参数二y的坐标,参数三宽度,参数四高度
g.DrawEllipse(p, r);//画园
//(参数一画笔,参数二矩形区域)
p.Dispose();//释放资源
g.Dispose();

4、画字符串

使用Graphics类中的DrawString方法

Graphics g = this.CreateGraphics();     //创建画板
Pen p = new Pen(Color.Red, 4);  //生产画笔
//(参数一颜色,参数二线的宽度)
Brush b = p.Brush;//创建画刷Font f = new Font("宋体", 18);g.DrawString("123", f, b, 20, 20);
//(参数一字符串,参数二字体样式,参数三画刷样式,参数四x坐标,参数五y坐标)
p.Dispose();//释放资源
g.Dispose();

在这里插入图片描述

4、扩展知识(填充矩形、椭圆)

使用方法和DrawLine的参数一模一样 只是使用Fill。
FillRectangle 填充矩形
FillEllipse 填充椭圆

Graphics g = this.CreateGraphics();   //创建画板
Pen p = new Pen(Color.Red, 4);  //生产画笔Brush b1 = p.Brush;//创建画刷g.FillRectangle(b1,100,100,50,50);//画长方形 Rectangle r = new Rectangle(50, 50, 50, 50);//定义矩形
g.FillEllipse(b1, r);//画园
b1。Dispose();
p.Dispose();//释放资源
g.Dispose();

在这里插入图片描述

5、画饼图(不重要

使用Graphics类中的FillPie方法

            Graphics g = this.CreateGraphics();Pen p1 = new Pen(Color.Red, 4);Brush b1 = p1.Brush;Pen p2 = new Pen(Color.Green, 4);Brush b2 = p2.Brush;Pen p3 = new Pen(Color.Yellow, 4);Brush b3 = p3.Brush;Rectangle r = new Rectangle(80, 50, 200, 200);g.FillPie(b1, r, 0, 120);g.FillPie(b2, r, 120, 120);g.FillPie(b3, r, 240, 120);

在这里插入图片描述


http://www.ppmy.cn/server/151255.html

相关文章

MVC前后端交互案例--留言板

API-约定前后端交互接⼝ 约定 " 前后端交互接⼝ " 是进⾏ Web 开发中的关键环节. 接⼝⼜叫 API(Application Programming Interface), 我们⼀般讲到 接⼝或者 API, 指的都是同⼀个东西。 是指应⽤程序对外提供的服务的描述, ⽤于 交换信息和执…

《探索C++在3D重建中的算法与技术要点》

3D重建作为计算机视觉领域的重要技术,在诸多行业有着广泛应用,而C以其高效性和对底层硬件的良好控制,成为实现3D重建算法的常用语言。以下是利用C进行3D重建的一些常见算法和技术要点。 多视图立体视觉算法 多视图立体视觉是3D重建的基础算…

C语言实验 结构体一

时间:2024.12.17 6-1 按等级统计学生成绩 代码 // 根据成绩设置等级,并返回不及格人数 int set_grade(struct student *p, int n) {int count = 0;for (int i = 0; i < n; i++) {if (p[i].score >= 85 && p[i].score <= 100) {p[i].grade = A;} else if (…

Spring Boot教程之二十五: 使用 Tomcat 部署项目

Spring Boot – 使用 Tomcat 部署项目 Spring Boot 是一个基于微服务的框架&#xff0c;在其中创建可用于生产的应用程序只需很少的时间。Spring Boot 建立在 Spring 之上&#xff0c;包含 Spring 的所有功能。如今&#xff0c;它正成为开发人员的最爱&#xff0c;因为它是一个…

stm32-- 存储-flash和ram

本文中的程序都是伪代码&#xff0c;没经过验证使用。 keil编译完成&#xff0c;会得到一个.map文件&#xff0c;详细列出空间占用情况。 示例如下&#xff1a; Total RO Size (Code RO Data) 39888 ( 38.95kB) Total RW Size (RW Data ZI Data) …

【网络】传输层协议UDP/TCP网络层IP数据链路层MACNAT详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.传输层协议 UDP 1.1 传输层 1.2 端口号 1.3 UDP 协议 1.3.1 UDP 协议端格式 1.3.2 UDP 的特点 1.3.3 面向数据报 1…

【鸿蒙实战开发教程】HarmonyOS next开发网络请求封装(Api11Release)

前言 根据研究机构Counterpoint Research发布的最新数据&#xff0c;2024年第一季度&#xff0c;鸿蒙OS份额由去年一季度的8%上涨至17%&#xff0c;iOS份额则从20%下降至16%。 这意味着&#xff0c;华为鸿蒙OS在中国市场的份额超越苹果iOS&#xff0c;已成中国第二大操作系统。…

2024年华为OD机试真题-找终点-C++-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,持续跟新。 题目描述 给定一个正整数数组,设为…