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+编程基础(二)的更多相关文章

  1. GDI 编程基础简介

    今天准备重新对GDI的知识进行回顾一下,以便加深认识. 一.GDI 在进行Windows编程时,可能经常会用到设备描述表的类型句柄,例如,最厂家的HDC,它就是图像设备描述类型句柄.因为GDI的绘图函 ...

  2. C#GDI+编程基础(一:Graphics画布类)

    GDI+存在的意义:将变成与具体硬件实现细节分开. GDI+步骤:获取画布,绘制图像.处理图像 命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using ...

  3. shell编程基础(二): shell脚本语法之分支语句和循环语句

    一.分支语句 1.条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与 ...

  4. C# GDI+编程(二)

    常用的绘图函数 DrawArc绘制一个弧形 示例:graphics.DrawArc(pen,,,,,,) 倒数第二个参数,表示起始度数,最后一个参数是弧形的跨越度数.比如起始度数是90,跨越度数是12 ...

  5. GDI编程基础

    窗口和视口 视口是基于设备的采用的是设备坐标(单位:像素),窗口是基于程序的采用的是逻辑坐标(单位:像素/毫米/厘米等). 在默认的映射模式下,视口是与窗口等同的.但是如果改变其映射模式,则其对应的单 ...

  6. 第十章:Python の 网络编程基础(二)

    本課主題 Python中的作用域补充 socketserver 源码 线程的介绍和操作实战 进程的介绍和操作实战 协程的介绍和操作实战 本周作业 Python中的作用域补充 Python世界里沒有块级 ...

  7. shell编程基础二

    一.流程控制 while循环:只要条件满足一直循环 read -p "请输入一个数字:" white_data while [ ${white_data} -lt 20 ] do ...

  8. Scala 中的函数式编程基础(二)

    主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. ...

  9. Python进阶(面向对象编程基础)(二)

    1.初始化实例属性 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan' #定义Person类的__init__方法 ...

随机推荐

  1. 【转载】C++中的基类与派生类

    转自:http://www.cnblogs.com/sujz/articles/2044365.html 派生类的继承方式总结: 继承方式 说明 public 基类的public和protected的 ...

  2. HTTPS原理

    谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的.随着网络越来越普及,应用越来越广泛,一 ...

  3. CSS的4种引入方式及优先级

    第一:css的四种引入方式 1.行内样式 最直接最简单的一种,直接对HTML标签使用style="",例如: <p style="color:#F00; " ...

  4. bigdecimal类型数据的min方法

    java.math.BigDecimal.min(BigDecimal val) 返回此BigDecimal和val的最小值. 声明 以下是java.math.BigDecimal.min()方法的声 ...

  5. WinForm------分页控件dll下载地址

    转载: http://files.cnblogs.com/wuhuacong/TestPager_SqlLite.rar

  6. sed,grep,awk命令常用法

    查看当天nginx访问日志中2016:03:25到2016:05点passport.mingxiao.com域名访问量最多的url,可以查看网站是否被刷. 法一: sed -n '/2016:03:2 ...

  7. easyUI文本框textbox笔记

    知识点: 1.图标位置 Icon Align属性,有left和right两个: 2.textbox的setvalue方法,getvalue方法. <div style="margin: ...

  8. Ubuntu下安装了java但启动eclipse报错说没装java

    参考资料:http://blog.csdn.net/happyteafriends/article/details/8290950 一.问题 在Ubuntu下安装了java并在~/.bashrc配置了 ...

  9. Codeforces Round #371 (Div. 2)B. Filya and Homework

    题目链接:http://codeforces.com/problemset/problem/714/B 题目大意: 第一行输入一个n,第二行输入n个数,求是否能找出一个数x,使得n个数中的部分数加上x ...

  10. CSS样式优先级

    关于CSS样式优先级 一般情况下: [1位重要标志位] > [4位特殊性标志] > 声明先后顺序 !important > [ id > class > tag ] 使用 ...