C# GDI绘图之——画笔和画刷
绘制图形需要画笔和画刷:
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绘图之——画笔和画刷的更多相关文章
- MFC更换画笔(画刷)颜色以及画眼睛(GDI画图)
MFC画眼睛 换画笔(画刷)颜色(参考链接:https://blog.csdn.net/sunxiving/article/details/51272001) 由于画笔一旦创建后就无法修改.所以要修改 ...
- C#GDI+基础(三)画刷详解
SolidBrush:一般的画刷,通常只用一种颜色去填充GDI+图形 创建一般画刷: SolidBrush sbBrush1 = new SolidBrush(Color.Green); HatchB ...
- 从零开始学习GDI+ (三) 画笔与画刷
- [游戏模版3] Win32 画笔 画刷 图形
>_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...
- VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)
上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. 鸡啄米依然是通过实例的方式来说明画刷的用法.此实例要实现的功能是,对话框上有一 ...
- VS2010-MFC(图形图像:GDI对象之画刷CBrush)
转自:http://www.jizhuomi.com/software/248.html 上一节讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. ...
- MFC GDI绘图基础
一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Wind ...
- VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)
上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObje ...
- VS2010-MFC(图形图像:GDI对象之画笔CPen)
转自:http://www.jizhuomi.com/software/246.html 上一节讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGd ...
随机推荐
- .htaccess 使用大全
重新和重定向 注意:首先需要服务器安装和启用mod_rewrite模块. 强制 www RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com ...
- S3C2440硬件IIC详解
S3C2440A RISC微处理器可以支持一个多主控IIC 总线串行接口.一条专用串行数据线(SDA)和一条专用串行时钟线(SCL)传递连接到IIC总线的总线主控和外设之间的信息.SDA和SCL线都为 ...
- 超市RFID结算系统项目进度与总结
超市RFID结算系统项目进度与总结 超市RFID结算系统本周末(明天演示),目前进度如下: 一.后台PHP端已经完成了大部分的工作,包括以下: 1.数据库的建立(目前只包括用户表.商品信息表.购物车表 ...
- NLPIR中文分词器的使用
一.普通java项目 (1)添加项目jar包 File -> Project Structure Libarries 添加jar包jna-4.0.0.jar (2)将Data文件夹复制到 ...
- Thinking in scala (7)---- f(n)=f(n-1)+2f(n-2)+3f(n-3)
<计算机程序的构造和解释>中的练习1.11: 函数f,如果n<3,那么f(n) = n;如果n>=3,那么 f(n)=f(n-1)+2f(n-2)+3f(n-3) 有了上面的公 ...
- Delphi中使用Dos窗口输出调试信息
在项目文件 *.DPR (Project->View Source) 里加上{$APPTYPE CONSOLE} 然后,在需要输出处加上 Writeln(‘your debug messa ...
- 横向滚动视图scroll-into-view不起作用
横向视图scroll-into-view指定的id为hpink,但是效果图中显示的还是第1个view(未达到效果); 纵向视图scroll-into-view指定的id为yellowgreen,效果图 ...
- eclipse中集成svn maven开发手册---合并主干
如图,代码提交分支之后 右键,项目,切换到主干版本 切换回主干版本后: 更新主干版本 合并 选择merge a range of revisions,点击next 录入要合并的分支版本的路径.此处的s ...
- UVa 10700 - Camel trading
题目大意:给一个不含括号.只有+和*运算的表达式,数字的范围在1到20之间,算出计算结果的可能最大值和最小值. 贪心,如果加法优先级比乘法高,那么得出的结果为最大值.(a+b)*c = a*c + b ...
- 【USB-HID在STM32上的实现】-00-开始
前一段时间参照网上的例程搞了一阵STM32F103的HID程序,改了改例子实现了一个摇杆的外设控制功能.1通道开关量输入,2通道模拟量输入. 之后有空了总结一下,防止忘记.