绘制图形需要画笔和画刷:

Pen(画笔类):

Pen为C#编程语言中专门的画笔类

使用方式:

// 用系统颜色来初始化我们的画笔类,使用Color静态类中的颜色

1、 Pen p1 = new Pen(Color.black);

//用系统为我们准备的配色方法,每种颜色用数字设置,不超过255

2、 Pen p2 = new Pen(Color.FromArgb(给定三种颜色值));

Brush(画刷类):

使用方式:

1、 Brush bs = new SolidBrush(Color.black);//此类不允许直接构造对象的,如果要构造对象只能用SolidBrush类为它专门构造对象,参数可以设置颜色

GDI中几种常用的画刷:

类别

定义类

基本描述

单色画刷

SolidBrush

用纯色填充图形

影线画刷

HatchBrush

用各种线型图案填充图形

纹理画刷

TextureBrush

使用基于光栅的图像填充图形

线性渐变画刷

LinerGradientBrush

使用渐变的色彩填充图形

路径渐变画刷

PathGradientBrush

画刷沿着预定义的路径进行色彩渐变的填充,色彩渐变的方向是从路径的边界到中心。

画刷变换

纹理画刷的变换分为三种:旋转变换(RotateTransform)、缩放变换(ScaleTransform)和平移变换(TranslateTransform)。基本上与画笔的变换差不多,旋转变换,是将基本图案向左或向右旋转N度;缩放变换是将基本图案放大或缩小;平移变换容易让人迷,它是在绘图原点(0,0)向左移动、向右和向上、向下平移后,再进行平铺。

Graphics(绘制类)

返回值类型

方法

说明

Void

DrawString

绘制文字

Void

DrawLine

绘制直线

Void

DrawEllipse

绘制圆形

Void

DrawRectangle

绘制矩形

Void

DrawPie

绘制扇形

1、 绘制直线

DrawLine(Pen p1,Point pt1,Point pt2);

DrawLine(Pen p1,int x1,int y1,int x2,int y2);

2、 绘制圆形

DrawEllipse(Pen p1,Rectangle rect);

DrawEllipse(Pen p1, int x,int y,int width,int height);

绘制圆形是根据一个矩形来绘制的

3、 绘制矩形

DrawRectangle(Pen p1,Rectangle rect);

DrawRectangle(Pen p1, int x,int y,int width,int height);

4、 绘制扇形

DrawPie(Pen p1,Rectangle rect,int startAngle,int sweepangle);

DrawPie(Pen p1,int x,int y,int width,int height,int startAngle,int sweepangle);

绘制扇形需要一个矩形来决定扇形的起始位置和大小,还需要两个值来决定扇形的弧度。

Graphics(绘制类)

返回类型

方法

说明

Void

FillEllipse

填充圆形

Void

FillRectangle

填充矩形

Void

FillPie

填充扇形

Void

FillPath

填充路径

Void

FillPolygon

填充多边形

Void

FillRegion

填充区域

Void

FillCloseCurve

填充闭合曲线

1、 填充圆形

FillEllipse(brush p1,Rectangle rect);

FillEllipse(brush p1,int x,int y,int width,int height);

填充原型是根据一个矩形来绘制的

2、 填充矩形

FillRectangle(brush p1,Rectangle rect);

FillRectangle(brush p1,int x,int y,int width,int height);

3、 填充扇形

FillPie(brush p1,Rectangle rect,int startAngle,int sweepangle);

FillPie(brush p1,int x,int y,int width,int height,int startAngle,int sweepangle);

填充扇形需要一个矩形来决定扇形的起始位置和大小,还需要两个值确定扇形的弧度。

C# GDI绘图之——画笔和画刷的更多相关文章

  1. MFC更换画笔(画刷)颜色以及画眼睛(GDI画图)

    MFC画眼睛 换画笔(画刷)颜色(参考链接:https://blog.csdn.net/sunxiving/article/details/51272001) 由于画笔一旦创建后就无法修改.所以要修改 ...

  2. C#GDI+基础(三)画刷详解

    SolidBrush:一般的画刷,通常只用一种颜色去填充GDI+图形 创建一般画刷: SolidBrush sbBrush1 = new SolidBrush(Color.Green); HatchB ...

  3. 从零开始学习GDI+ (三) 画笔与画刷

  4. [游戏模版3] Win32 画笔 画刷 图形

    >_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...

  5. VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)

    上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. 鸡啄米依然是通过实例的方式来说明画刷的用法.此实例要实现的功能是,对话框上有一 ...

  6. VS2010-MFC(图形图像:GDI对象之画刷CBrush)

    转自:http://www.jizhuomi.com/software/248.html 上一节讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. ...

  7. MFC GDI绘图基础

    一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Wind ...

  8. VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

    上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObje ...

  9. VS2010-MFC(图形图像:GDI对象之画笔CPen)

    转自:http://www.jizhuomi.com/software/246.html 上一节讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGd ...

随机推荐

  1. iOS开发——Scheme白名单

    问题:在iOS 9下涉及到平台客户端跳转,系统会自动到项目info.plist下检测是否设置平台Scheme.对于需要配置的平台,如果没有配置,就无法正常跳转平台客户端. 报错:This app is ...

  2. IOS9提示“不受信任的开发者”如何处理

    iPhone升级到IOS9版本后,发现部分APP在下载后首次运行时,都会提示“不受信任的应用程序开发者”,这是因为企业证书发布的APP,没有经过AppStore审核,于是iOS对用户做出一个安全性的提 ...

  3. listen函数里面backlog的意义以及各种情况

    先看了这篇: http://www.cppblog.com/thisisbin/archive/2010/02/07/107444.html 里面说了会维护两个队列,established 和 syn ...

  4. jenkins 构建时,取消构建测试类

    如图 点击配置,添加clean install  -Dmaven.test.skip=true 保存即可

  5. UVa 412 - Pi

    题目大意:给定一种估算Pi的方法:给出一系列随机数,从中任选两个数,这两个数的最大公约数不大于1(互质)的概率为6/(Pi*Pi),然后给出一系列数,据此估算Pi的值.直接模拟就好了. #includ ...

  6. java web面试

    1. session和cookie的区别和联系,session的生命周期,多个服务部署时session管理. 原博http://blog.csdn.net/shuaishenkkk/article/d ...

  7. 1833: [ZJOI2010]count 数字计数

    1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 2951  Solved: 1307[Submit][ ...

  8. noip2016天天爱跑步

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 个结点 ...

  9. 采用highchart js+flot+rrd生成cpu、mem状态监控图

    HTML <script type="text/javascript" src="../static/js/jquery-1.8.0.min.js"> ...

  10. Java线程:堵塞队列与堵塞栈

    一.堵塞队列 Java定义了堵塞队列的接口java.util.concurrent.BlockingQueue,堵塞队列是一个指定长度的队列,当试图向队列中添加元素而队列已满,或者是想从队列移出元素而 ...