SolidBrush:一般的画刷,通常只用一种颜色去填充GDI+图形

创建一般画刷:

 SolidBrush sbBrush1 = new SolidBrush(Color.Green);

HatchBrush:阴影画刷,有两种颜色:前景色和背景色
创建阴影画刷:

HatchBrush(HatchStyle,Color);//前景

HatchBrush(HatchStyle,Color,Color);//前景、背景

HatchStyle对应阴影方案列表。

名称

说明

BackwardDiagonal

从右上到左下的对角线的线条图案。

Cross

指定交叉的水平线和垂直线。

DarkDownwardDiagonal

从顶点到底点向右倾斜的对角线,两边夹角比ForwardDiagonal小50%,宽度是其两倍。此阴影图案不是锯齿消除的。

DarkHorizontal

指定水平线的两边夹角比Horizontal小50%并且宽度是Horizontal的两倍。

DarkUpwardDiagonal

指定从顶点到底点向左倾斜的对角线,其两边夹角比BackwardDiagonal小50%,宽度是其两倍,但这些直线不是锯齿消除的。

DarkVertical

指定垂直线的两边夹角比Vertical小50%并且宽度是其两倍。

DashedDownwardDiagonal

指定虚线对角线,这些对角线从顶点到底点向右倾斜。

DashedHorizontal

指定虚线水平线。

DashedUpwardDiagonal

指定虚线对角线,这些对角线从顶点到底点向左倾斜。

DashedVertical

指定虚线垂直线。

DiagonalBrick

指定具有分层砖块外观的阴影,它从顶点到底点向左倾斜。

DiagonalCross

交叉对角线的图案。

Divot

指定具有草皮层外观的阴影。

ForwardDiagonal

从左上到右下的对角线的线条图案。

Horizontal

水平线的图案。

HorizontalBrick

指定具有水平分层砖块外观的阴影。

LargeGrid

指定阴影样式Cross。

LightHorizontal

指定水平线,其两边夹角比Horizontal小50%。

LightVertical

指定垂直线的两边夹角比Vertical小50%。

Max

指定阴影样式SolidDiamond。

Min

指定阴影样式Horizontal。

NarrowHorizontal

指定水平线的两边夹角比阴影样式Horizontal小 75%(或者比LightHorizontal小25%)。

NarrowVertical

指定垂直线的两边夹角比阴影样式Vertical小 75%(或者比LightVertica小25%)。

OutlinedDiamond

指定互相交叉的正向对角线和反向对角线,但这些对角线不是锯齿消除的。

Percent05

指定5%阴影。前景色与背景色的比例为5:100。

Percent90

指定90%阴影。前景色与背景色的比例为90:100。

Plaid

指定具有格子花呢材料外观的阴影。

Shingle

指定带有对角分层鹅卵石外观的阴影,它从顶点到底点向右倾斜。

SmallCheckerBoard

指定带有棋盘外观的阴影。

SmallConfetti

指定带有五彩纸屑外观的阴影。

SolidDiamond

指定具有对角放置的棋盘外观的阴影。

Sphere

指定具有球体彼此相邻放置的外观的阴影。

Trellis

指定具有格架外观的阴影。

Vertical

垂直线的图案。

Wave

指定由代字号"~"构成的水平线。

Weave

指定具有织物外观的阴影。

TextureBrush:纹理画刷。拥有图案,使用起来填充封闭图形。

创建纹理画刷:

public TextureBrush(Image, WrapMode, Rectangle);

public TextureBrush(Image, Rectangle, ImageAttributes);

wrapMode: 纹理或渐变平铺方式

名称

说明

Tile

平铺渐变或纹理

TileFlipX

水平反转纹理或渐变,然后平铺该纹理或渐变

TileFlipY

垂直反转纹理或渐变,然后平铺该纹理或渐变

TileFlipXY

水平和垂直反转纹理或渐变,然后平铺该纹理或渐变

LinearGradientBrush:线渐变画刷。

创建线渐变画刷:

LinearGradientBrush(Rectangle, Color, Color, LinearGradientMode);

LinearGradientBrush(Rectangle, Color, Color, float);

LinearGradientBrush(RectangleF, Color, Color, float, bool);

LinearGradientMode:枚举元素,它指定渐变方向。

名称

说明

Horizontal

指定从左到右的渐变

Vertical

指定从上到下的渐变

ForwardDiagonal

指定从左上到右下的渐变

BackwardDiagonal

指定从右上到左下的渐变

Float:渐变方向线的角度(从 X 轴以顺时针角度计算)

Bool:设置为 true,指定角度受与此 System.Drawing.Drawing2D.LinearGradientBrush 关联的变换所影响;否则为false。

Rectangle:位置,大小,可以用相关参数替换

PathGradientBrush:路径渐变画刷

创建路径渐变画刷:

public PathGradientBrush(GraphicsPath );

public PathGradientBrush(Point[] , WrapMode);

属性成员:

名称

说明

CenterColor

中心处的颜色

CenterPoint

中心点

FocusScales

渐变过渡的焦点

WrapMode

PathGradientBrush的环绕模式

C#GDI+基础(三)画刷详解的更多相关文章

  1. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  2. Java基础-面向接口编程-JDBC详解

    Java基础-面向接口编程-JDBC详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JDBC概念和数据库驱动程序 JDBC(Java Data Base Connectiv ...

  3. ELK&ElasticSearch5.1基础概念及配置文件详解【转】

    1. 配置文件 elasticsearch/elasticsearch.yml 主配置文件 elasticsearch/jvm.options jvm参数配置文件 elasticsearch/log4 ...

  4. java基础(3)--详解String

    java基础(3)--详解String 其实与八大基本数据类型一样,String也是我们日常中使用非常频繁的对象,但知其然更要知其所以然,现在就去阅读源码深入了解一下String类对象,并解决一些我由 ...

  5. 计算机网络基础之IP地址详解

    计算机网络基础之IP地址详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.IP地址概述 1>.什么是IP地址 我们为什么要使用逻辑地址(IP地址)来标识网络设备,而不采 ...

  6. Qt零基础教程(四) QWidget详解篇

    在博客园里面转载我自己写的关于Qt的基础教程,没次写一篇我会在这里更新一下目录: Qt零基础教程(四) QWidget详解(1):创建一个窗口 Qt零基础教程(四) QWidget详解(2):QWid ...

  7. Qt零基础教程(四)QWidget详解(3):QWidget的几何结构

    Qt零基础教程(四)  QWidget详解(3):QWidget的几何结构 这篇文章里面分析了QWidget中常用的几种几何结构 下图是Qt提供的分析QWidget几何结构的一幅图,在帮助的 Wind ...

  8. [转]hibernate三种状态详解

    本文来自 http://blog.sina.com.cn/u/2924525911 hibernate 三种状态详解 (2013-04-15 21:24:23) 转载▼   分类: hibernate ...

  9. [五]基础数据类型之Short详解

      Short 基本数据类型short  的包装类 Short 类型的对象包含一个 short 类型的字段      原文地址:[五]基础数据类型之Short详解   属性简介   值为  215-1 ...

随机推荐

  1. zabbix监控系列(1)之zabbix-server安装

    推荐使用yum来安装 第一步:LAMP平台 zabbix使用php开发的,所以依赖于LAMP或者LNMP平台,由于http+mysql用yum安装及其方便,所以我在这里使用yum安装. yum -y ...

  2. parted命令详解

    parted命令详解   用法:parted [选项]... [设备 [命令 [参数]...]...]   将带有“参数”的命令应用于“设备”.如果没有给出“命令”,则以交互模式运行.   帮助选项: ...

  3. js数组特定位置元素置空,非null和undefined,实现echarts现状图效果;谷歌格式化压缩js代码

    一.想要实现eCharts线状图表的断点效果,如图(后来又查到数据格式为data:['-', 2, 3,'-' , 5, 6, 7]:也可以断点显示) 这种效果,在设置数据的时候应该是这样: data ...

  4. Android学习笔记——MixLayout

    该工程的功能是实现LinearLayout+TableLayout 以下代码是MainActivity.java中的代码 package com.example.mixlayout; import a ...

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

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

  6. texlive2015+texstudio

    编译器 texlive2015 编辑器 texstudio

  7. [Unity] 2D开发学习教程

    豆子先生,据说是官方的一个Demo, 在蛮牛网上有大部分代码的视频讲解. 这个是我学习过程中边看教程边写出来的,功能和原版基本一样,增加了手游的操控. Blog: http://www.cnblogs ...

  8. HDInsight 指定输出目录 insert overwrite

    基本语法 insert overwrite local directory '/example/demo/' select * from table; 可以格式化输出 insert overwrite ...

  9. web.config中customErrors与httpErrors的区别

    打开IIS,我们发现会有两个处理错误页的地方,见下图: 进行不同的设置之后,我们发现设定结果会反应在web.config: .NET Error Pages设定被写入system.web/custom ...

  10. MySQL关键字(保留字)列表

    在使用MySQL的时候,一般尽量避免用关键字作为表名,如使用关键字做表名,需要按标准写法给SQL语句加[](或是“)区分字段名和表名. 下面列出MySQL所有关键字,希望给使用MySQL的朋友提供一些 ...