文档章节

使用C#一起来画图

沉默狮
 沉默狮
发布于 2015/06/10 16:36
字数 453
阅读 162
收藏 0
点赞 0
评论 0

本文类,需要添加引用System.Drawing,并在类中using

几个关键类

Graphics : 图画类,通过这个类对一个图画进行画图

Pen : 笔类,画图的时候要用到它

SolidBrush 固定画刷类,要把它装在笔上,笔才能画出东西来

Font :字型类,当你要写字的时候,就要用到它了

准备

笔,画刷,颜色

先给我们的画刷 brush 上色

 SolidBrush brush = new SolidBrush(System.Color.Green);

笔 = 画刷 + 粗细,我们给他装成一支笔

 Pen pen = new Pen(brush, 3);// 3是笔的粗细,决定画出来的线条粗细

字型,字体,字号

字型 = 字体 + 字号,也是同样组装起来

 Font font = new Font("微软雅黑", 12);// 12是字形的字号

开始画图

创建 Graphics 对象

通过窗体或控件的 CreateGraphics(); 方法来创建

 Graphics g = this.CreateGraphics();

也可以通过图片来创建

Bitmap image = new Bitmap(1,1);//空白图片
Graphics g = Graphics.FromImage(image); // 可以通过一个自建的空白图片,可以是一个已有的图片

画上一大堆谐星的东西

Graphics 有很多的方法,可以用来画各种各样的东西,这个自己慢慢发掘。我常用的就是画框和写字,代码如下:

 g.DrawRectangle(pen, new Rectangle(0,0,3,4));// 画的时候就用上笔了,第二个参数是一个框

 g.DrawString("hello world", font, pen, new PointF(2, 3));// 写字的时候也用上了笔,并指定了字型,第三个参数是写字位置的左上角坐标

Graphics 的方法调用完成之后,相应的更改就已经在创建Graphics的对象中应用。所以只需要回收Graphics对象即可。

 

© 著作权归作者所有

共有 人打赏支持
沉默狮

沉默狮

粉丝 10
博文 53
码字总数 24758
作品 0
成都
程序员
关于c# 画图小问题

请教各位大侠关于c#画图的一个小问题 大部分画图的程序示例都是在画图函数中新建一个bitmap和graphic,然后进行画图,也就是每画一次,都要重信临时新建一个新建一个bitmap和graphic。 我现在...

运动的彩虹
2016/05/31
413
4
C#调用MATLAB画图实现到达过程的模拟

这是一个课题系统中的实验,基于Visual C#和MATLAB的对到达过程模拟生成系统,本文主要记录一下自己实现产生符合log-normal随机数的时间点序列,并调用MATLAB进行画图的过程。界面比较简陋,...

qq_36816909
03/23
0
0
C# 视频监控系列(7):服务器端——封装API(下) (6)

#region 3.7.1.2 LOGO /// /// 3.7.1.2.1数据格式转换 /// 说 明: 将24位bmp格式图像转换为yuv422格式图像。 /// 注意:bmp位图的长宽必须为16的倍数,图像尺寸最大支持128128,4.3版本SDK...

日久不生情
2017/11/15
0
0
Common Lisp 高阶函数学习笔记: function, funcall 和 apply...

Common Lisp 高阶函数学习笔记: function, funcall 和 apply 的用法 目录 0 概述 1 函数 function 的用法 2 函数 funcall 的用法 3 函数 apply 的用法 0 概述(id:0) 高阶函数是 Lisp 的一大特...

FreeBlues
2013/07/30
0
0
C# 音乐播放器中波形显示问题

C#中用到windowsmediaplayer控件。但是要picturebox里面显示播放音乐波形。怎么获得音乐数组然后根据数组内容画图?

yangyang____
2013/12/04
1K
1
类似于电路图额定电流的计算

小弟最近需要完成一个任务:计算工作流所需人数。工作流类似于电路图,只不过没有闭合,不能是死循环。工作流由串行流程,和并行流程组成,每个工作流节点有其所需人数。 整个工作流所需人数...

assw
2015/11/20
71
0
能够作图的软件都有哪些

现在,在电脑上画画已经成为一种潮流,那么“工欲善其事,必先利其器”,想要在电脑上画图,那肯定少不了都需要一款好用的画图软件。那么说到这里,画图软件到底有哪些?今天,小编就来跟大家...

学术研究软件
2016/10/14
42
0
ASP.net 验证码(C#)

ASP.net 验证码(C#) / Copyright all(c) 2005 ZhongFeng, http://blog.csdn.net/SW515 / public class ValidateCode : System.Web.UI.Page { private void Page_Load(object sender, System.......

晨曦之光
2012/03/09
131
0
[WPF] WPF User Controller with rotation and animation

简介 这次的项目需求,需要做一个可以开关门的动画控件,并且可以旋转,而且要不能覆盖到背后的图 八年前学习Win32SDK的时候,自己就不是很喜欢用GDI来画图 这次就选择WPF来做! C# Code using ...

长平狐
2012/10/08
150
0
c#之多边形裁剪线(未考虑重合情况)------初级

在学习过程中,想找个东西写一下,就写了一个多边形裁剪线的C#的小程序并在这里和大家分享一下。 一、想法思路 首先设计页面,页面布局写的很简单,建议用自己做的。 由于当时写的时候没有指...

mmmmmmFC
2017/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 配置时间和日期格式

你可以修改你 Confluence 为用户显示的时期和时间格式。设置的句法使用的是 SimpleDateFormat class,请参考 Java SimpleDateFormat 文档中的内容来设置日期和时间格式。 有下面 3 个时间和日...

honeymose
6分钟前
0
0
php seralize unserialize

关于PHP 序列化(serialize)和反序列化(unserialize)出现错误(Error at offset)的解决办法。 首先我们分析一下为什么会出现这个错误: 编码问题 UTF-8: ANSI: 我发现在我的机器上边编码改...

yeahlife
13分钟前
0
0
七、JSP九大内置对象和四个作用域

九大内置对象: request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。 response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基...

Wakeeee_
16分钟前
0
0
第十四章NFS服务搭建与配置

14.1 NFS介绍 NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netap...

Linux学习笔记
48分钟前
0
0
双向认证-nginx

1、设置容器 docker run -it --name nginx-test2 -v /home/nginx:/apps -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro -p 8183:80 -p 7443:443 -d nginx:stable 2、修改nginx配......

hotsmile
48分钟前
0
0
深入了解 Java 自动内存管理机制及性能优化

一图带你看完本文 一、运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《Java虚拟机规范(Java SE 7 版)》的规...

Java大蜗牛
50分钟前
4
0
SpringBoot | 第六章:常用注解介绍及简单使用

前言 之前几个章节,大部分都是算介绍springboot的一些外围配置,比如日志 配置等。这章节开始,开始总结一些关于springboot的综合开发的知识点。由于SpringBoot本身是基于Spring和SpringMvc...

oKong
51分钟前
9
0
云数据库架构演进与实践

如今,大型企业如金融企业和银行等,在下一代的微服务架构转型要求下,需要基础软件和数据平台能够实现原生的云化,以满足微服务架构的需求。 微服务,也就是一种面向服务的,有特定边界的松...

巨杉数据库
52分钟前
0
0
Linux系统梳理---系统搭建(一):jdk卸载与安装

1.去官网下载符合Linux版本的jdk,暂用jdk-8u171-linux-x64.rpm 2.登陆Linux,进入usr目录,创建java目录(方便管理,可以其他位置):mkdir java 3.上传下载的jdk包至Linux服务器,使用rz指令(sz f...

勤奋的蚂蚁
今天
0
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

六库科技
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部