C#GDI+编程基础(二)
pen类:绘制指定宽度和样式的直线。使用DashStyle属性绘制几种虚线,可以使用各种填充样式(包括纯色和纹理)来填充Pen绘制的直线,填充模式取决于画笔或用作填充对象的纹理。
创建画笔:
//用指定的颜色实例化一只画笔的方法如下:
public Pen(Color); //用指定的画刷实例化一只画笔的方法如下:
public Pen(Brush); //用指定的画刷和宽度实例化一只画笔的方法如下:
public Pen(Brush , float); //用指定的颜色和宽度实例化一只画笔的方法如下:
public Pen(Color, float); //实例化画笔的语句格式如下:
Pen pn=new Pen(Color.Blue);
//或者
Pen pn=new Pen(Color.Blue,);
属性成员:
| 名称 | 说明 |
| Alignment | 获取或设置画笔的对齐方式 |
| Brush | 获取或者设置画笔的属性 |
| Color | 获取或者设置画笔颜色 |
| Width | 获取或者设置画笔的宽度 |
Brush类(画刷):是一个抽象的基类,因此他不能被实例化,用它的派生类进行实例化一个画刷对象。
结构组件:
Point类:表示一个具体的点
Size类:表示尺寸(像素为单位)。size结构包含宽度和高度
Rectangle结构:一个构造函数的参数是X坐标,Y坐标,宽度和高度。另外一个构造函数参数是Point和Size。
//用指定的位置和大小初始化Rectangle类的新实例。
public Retangle(Point,Size);
public Rectangle(int,int,int,int);
属性成员:
|
名称 |
说明 |
|
Bottom |
底端坐标 |
|
Height |
矩形高 |
|
IsEmpty |
测试矩形宽和高是否为0 |
|
Left |
矩形左边坐标 |
|
Location |
矩形的位置 |
|
Right |
矩形右边坐标 |
|
Size |
矩形尺寸. |
|
Top |
矩形顶端坐标 |
|
Width |
矩形宽 |
|
X |
矩形左上角顶点X坐标 |
|
Y |
矩形左上角顶点Y坐标 |
风格组件:
Color类:(颜色及透明度),由透明度A 和三基色(RGB)所组成
属性成员:
|
名称 |
说明 |
|
A |
获取此Color结构的alpha分量值,取值(0~255)。 |
|
B |
获取此Color结构的蓝色分量值,取值(0~255)。 |
|
G |
获取此Color结构的绿色分量值,取值(0~255)。 |
|
R |
获取此Color结构的红色分量值,取值(0~255)。 |
|
Name |
获取此Color结构的名称,这将返回用户定义的颜色的名称或已知颜色的名称(如果该颜色是从某个名称创建的),对于自定义的颜色,将返回RGB值。 |
静态方法成员:
|
名称 |
说明 |
|
FromArgb |
从四个8位ARGB分量(alpha、红色、绿色和蓝色)值创建Color结构。 |
|
FromKnowColor |
从指定的预定义颜色创建一个Color结构。 |
|
FromName |
从预定义颜色的指定名称创建一个Color结构。 |
实例:
//定义一个Bitmap
Bitmap myBitmap = new Bitmap("c:\\myimages\\myimg.bmp");
//定义一个颜色变量把在指定位置所取得的像素值存入颜色变量中
Color c = new Color();
//获取此Bitmap中指定像素的颜色
c = myBitmap.GetPixel(, );
//将颜色值分解出单色分量值
int r, g, b;
r = c.R;
g = c.G;
b = c.B;
Font类(字体风格):定义特定文本格式,包括字体,字号和字形属性。
创建Font实例:
//"字体名"为Font的FontFamily的字符串表示形式
public Font(string 字体名, float 字号,FontStyle 字形)//字号和字体为可选项
public Font(string 字体名,float 字号)
属性成员:
|
名称 |
说明 |
|
Bold |
是否为粗体。 |
|
FontFamily |
字体成员。 |
|
Height |
字体高。 |
|
Italic |
是否为斜体。 |
|
Name |
字体名称。 |
|
Size |
字体尺寸。 |
|
SizeInPoints |
获取此 Font对象的字号,以磅为单位。 |
|
Strikeout |
是否有删除线。 |
|
Style |
字体类型。 |
|
Underline |
是否有下划线。 |
|
Unit |
字体尺寸单位。 |
重要参数:
GraphicsPaths(路径):表示一系列连续的线条和曲线。
创建路径:
public GraphicsPath(System.Drawing.PointF[] pts, byte[] types, System.Drawing.Drawing2D.FillMode fillMode)
//fillMode 填充方式 point[] 结构数组 types[] 对应点的类型 枚举PathPointType
PathPointType枚举:
|
名称 |
说明 |
|
Start |
路径起点 |
|
Bazier |
默认贝塞尔曲线 |
|
PathTypeMark |
遮盖点 |
|
DashMode |
添加椭圆 |
|
PathMarker |
路径标记 |
|
CloseSubpath |
子路径终结点 |
|
Bazier3 |
立体贝塞尔曲线 |
方法成员:
|
名称 |
说明 |
|
AddArc |
添加圆弧 |
|
AddBezier |
添加立方贝塞尔曲线 |
|
AddClosedCurve |
添加闭合曲线 |
|
AddEllipse |
添加椭圆 |
|
AddLine |
添加线段 |
|
AddPath |
添加路径,bool参数表示是否将添加路径的第一个图形作为当前路径最后一个图形的子成员 |
|
AddPie |
添加扇形轮廓 |
|
AddPolygon |
添加多边形 |
|
AddRectangle |
添加矩形 |
|
AddString |
添加字符串 |
|
ClearMarkers |
清除所有标志 |
|
CloseAllFigures |
闭合所有开放图形 |
|
CloseFigure |
闭合当前图形 |
|
Reverse |
反转数组各点顺序 |
|
Reset |
清空,并做好接收准备 |
|
StartFigure |
不闭合当前图形就开始新的图形 |
|
GetBounds |
获得边界(矩形) |
|
GetLastPoint |
获得最后一个点 |
Regions(组合图形):由矩形和路径组成
创建组合图形:
public Region(System.Drawing.Drawing2D.RegionData rgnData)
public Region(System.Drawing.Drawing2D.GraphicsPath path)
public Region(System.Drawing.Rectangle rect)
public Region(System.Drawing.RectangleF rect)
方法成员:
|
名称 |
说明 |
|
Complement |
更新,以包含与参数不相交的部分 |
|
Exclude |
更新,以仅包含内部以及与参数不想交的部分 |
|
Union |
更新为与指定参数的并集 |
|
Xor |
更新为与指定参数的并集与交集的差集 |
|
Translate |
指定量偏移坐标 |
|
Intersect |
更新为与指定参数的交集 |
|
IsInfinite(g) |
测试此region是否在指定g上具有无限内部 |
|
MakeEmpty |
清空 |
|
MakeInfinite |
初始化为无限内部 |
C#GDI+编程基础(二)的更多相关文章
- GDI 编程基础简介
今天准备重新对GDI的知识进行回顾一下,以便加深认识. 一.GDI 在进行Windows编程时,可能经常会用到设备描述表的类型句柄,例如,最厂家的HDC,它就是图像设备描述类型句柄.因为GDI的绘图函 ...
- C#GDI+编程基础(一:Graphics画布类)
GDI+存在的意义:将变成与具体硬件实现细节分开. GDI+步骤:获取画布,绘制图像.处理图像 命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using ...
- shell编程基础(二): shell脚本语法之分支语句和循环语句
一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...
- C# GDI+编程(二)
常用的绘图函数 DrawArc绘制一个弧形 示例:graphics.DrawArc(pen,,,,,,) 倒数第二个参数,表示起始度数,最后一个参数是弧形的跨越度数.比如起始度数是90,跨越度数是12 ...
- GDI编程基础
窗口和视口 视口是基于设备的采用的是设备坐标(单位:像素),窗口是基于程序的采用的是逻辑坐标(单位:像素/毫米/厘米等). 在默认的映射模式下,视口是与窗口等同的.但是如果改变其映射模式,则其对应的单 ...
- 第十章:Python の 网络编程基础(二)
本課主題 Python中的作用域补充 socketserver 源码 线程的介绍和操作实战 进程的介绍和操作实战 协程的介绍和操作实战 本周作业 Python中的作用域补充 Python世界里沒有块级 ...
- shell编程基础二
一.流程控制 while循环:只要条件满足一直循环 read -p "请输入一个数字:" white_data while [ ${white_data} -lt 20 ] do ...
- Scala 中的函数式编程基础(二)
主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...
- Python进阶(面向对象编程基础)(二)
1.初始化实例属性 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan' #定义Person类的__init__方法 ...
随机推荐
- 生活中的MVC模式,一个吃货的理解。
以下是生活中对于MVC模式的领悟,虽然可笑,轻喷. 2015年 8月 26日 M => Model 模型 我认为叫做模具更好的理解.批量加工生产具有相同特征的东西. ...
- POJ3208:Apocalypse Someday
传送门 很神奇的一道题,正解是AC自动机+数位DP,个人感觉POPOQQQ大爷的方法更方便理解. 按照一般套路,先搞个DP预处理,设$f[i][0/1/2/3]$分别表示对于$i$位数,其中有多少个前 ...
- app的描述
app的描述=需求文档+接口文档+程序架构. 程序架构:类结构图: 需求文档:业务逻辑-->时序图.
- 日志分析 第四章 安装filebeat
在进行前面准备之后可以开始安装了,我们的安装顺序是filebeat--->logstash--->elasticsearch filebeat安装很简单,先下载filebeat,这里我们使 ...
- Linux常用服务部署与优化之Samba篇
关于Samba的简介概述在此略过,开始搭建Samba服务. 1.安装Samba yum install -y samba samba-client 2.编辑Samba配置文件 首先共享一个目录,任何人 ...
- C#--网络流Stream、字节数组保存到字符串中
第一种方法: HttpWebRequest httpwebr = (HttpWebRequest)HttpWebRequest.Create(rstr); httpwebr.Method = &quo ...
- ecshop登录
邮箱登录 a.找到function login(){} ,增加一个邮箱判断is_mail() , b.如果通过,增读取出username , c.再通过默认的login功能 1.需要修改文件incl ...
- EF--Codefirst 加密数据库连接字符串
http://www.tuicool.com/articles/QvYbEn 一.EF,CodeFirst加密SQL连接符 public LifeHelpContext() : base(" ...
- HTML 简介
什么是HTML HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言: Hyper Text Markup Language HTML 不是一种编程语言,而是一种标记语言 标记语言是一 ...
- 对AccessViolationException的一些总结
引言 开发Winform程序时,应用程序出现了异常,整个应用程序崩溃自动退出了.在断点调试后,发现异常是AccessViolationException.所以对周围的语句加上了异常的处理机制.但是接下 ...