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,100);

属性成员:

















名称 说明
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(10, 10);
//将颜色值分解出单色分量值
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+编程基础(二),布布扣,bubuko.com

时间: 2024-08-03 10:39:44

C#GDI+编程基础(二)的相关文章

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

GDI+存在的意义:将变成与具体硬件实现细节分开. GDI+步骤:获取画布,绘制图像.处理图像 命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能 using System.Drawing.Imaging;//提供高级GDI+图像处理功能 using System.Drawing.Printing;//提供打印相关服务 using System.Drawing.

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

主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. 2. Higher Order Functions 把其他函数作为参数或者作为返回值,就是 higher order functions,python 里面也可以看到这样使用的情形.在酷壳上的博客有一个例子就是将函数作为返回值. 2.1 匿名函数 在 python 里边叫 lambda 函数,常常与 map(

GDI 编程基础简介

今天准备重新对GDI的知识进行回顾一下,以便加深认识. 一.GDI 在进行Windows编程时,可能经常会用到设备描述表的类型句柄,例如,最厂家的HDC,它就是图像设备描述类型句柄.因为GDI的绘图函数基本上都是有状态的,因此GDI所有的函数都要求一个这样的图形设备描述类型的句柄——HDC.而一个图像设备描述表实际上就是对一种安装在机器上的图形卡的描述.在使用句柄时,其实就是对具体的一种设备进行操作.对于GDI的任何函数的调用,这个设备的信息是必需的. 从本质上来说,提供指向任何GDI函数的HD

FPGA编程基础(二)--常用行为仿真描述

1.常用的行为仿真描述语句 利用循环完成遍历 for.while语句常用于完成遍历测试.当设计代码包含了多个工作模式,那么就需要对各种模式都机型遍历测试,如果手动完成每种模式的测试,则将造成非常大的工作量.利用for循环,通过循环下标来传递各种模式的配置,不仅可以有效减少工作量,还能保证验证的完备性,不会漏掉任何一种模式. (1) for循环仿真 可综合文件: module signedMul( input clk, input rstn, input [7:0] a, input [7:0]

DAY9:bash脚本编程基础(1)

内容主要为: 一.编程基础 二.shell脚本及其基本格式 三.变量 四.运算 五.条件测试 六.流程控制 一.编程基础 1)程序 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令(C,bash) 对象式:以数据为中心,指令服务于数据 (java,C++,Python) shell程序:提供了编程能力,解释执行 2)程序的执行方式 计算机:运行二进制指令: 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->

[NodeJS]Node异步编程基础

零.前言 为什么要用Node? Node把非阻塞IO作为提高应用性能的方式.而在JS中,天生拥有着异步编程机制: 事件机制.同时JS中不存在多进程.这样当你执行相对较慢需要花费时间长的IO操作时并不会阻塞主进程的任务. 在NodeJS中流行两种响应逻辑的管理方式: 回调, 事件监听. 回调通常用来定义一次性响应的逻辑.事件监听器本质上也是一个回调,不同的是它跟事件相互关联. 一.使用回调来处理一次性事件 回调是一个函数,被当做参数传递给异步函数,描述了异步操作完成后要做什么. 案例: 创建一个简

初识MATLAB之编程基础一

之前4篇随笔初识MATLAB之文件读取,初识MATLAB之矩阵,初识MATLAB之运算符与字符串,初识MATLAB之数据类型介绍了MATLAB基础.接下来分2篇随笔来介绍MATLAB之编程基础.其中编程基础一讲述变量,语句及控制结构.编程基础二讲述M文件及函数. 一 变量和语句 1.1 变量 变量命名:有一些命名规则. 1)对字母大小写敏感. 2)开头必须是字母. 3)不能使用关键字.关键字共有20个(可通过命令iskeyword查询,如下所示) >> keywords= reshape(is

Java笔记二十三.网络编程基础与UDP编程

网络编程基础与UDP编程 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.网络编程基础 1.TCP/IP协议:TCP/IP协议是一个非常实用的网络应用程序通信协议,包括TCP(传输控制协议)和IP地址(计算机唯一标识号). 2.IP地址:IP在互联网中能唯一标识一台计算机,是每一台计算机的唯一标识(身份证),通过这个标识号来指定接收数据的计算机和识别发送数据的计算机,该标识号即为IP地址. (1)Ipv4:指在计算机中IP地址用4个字节(

Linux学习之二十一-shell编程基础

Shell编程基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Shell 脚本(shell script),是一种为 shell 编写的脚本程序 Shell 编程跟 java.php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了 Linux中的shell种类(shell解释器的种类