《Programming WPF》翻译 第7章 3.笔刷和钢笔

为了在屏幕上绘制一个图形,WPF需要知道你想要为图形填充什么颜色以及如何绘制它的边框。WPF提 供了一些Brush类型支持各种绘图样式。Pen类增加这些笔刷以提供边框的厚度和样子。

在这一章,我们将要看一下各种类型的笔刷和钢笔类。可是,由于所有的笔刷和钢笔类最终是关于指 出在哪里使用哪一种颜色,以及如何将它们联合在一起,我们必须首先看一下眼色是如何被表示的。

7.3.1 颜色

WPF在System.Windows.Media命名空间中使用了Color结构来表示一种颜色。注意到如果你以往工作于 Windows Forms、ASP.NET或GDI+,Color机构是不同于那些技术使用的机构的——它们使用了 System.Drawing命名空间的Color结构。WPF引进了这种新的Color结构,是因为它可以工作于浮点形式的 颜色值——支持更高的颜色精度,以及更好的弹性。

Color颜色结构使用了四个数字,或者说是通道,来表示一种颜色。这些通道是红、绿、蓝以及Alpha 。红、绿、蓝通道是计算机图形学中传统的表示颜色的方式。(这是因为颜色屏幕通过将这三种基本颜色 混合在一起来工作。)一个0值表示颜色部分完全不存在;三个通道都是0对应黑色。Alpha通道表示颜色 不透明度的等级。Color可以是不透明的、完全不透明的、以及在这两种极限值之间的任意值。WPF的合成 引擎充分支持透明度,因此任何图形都可以被绘制为带有透明等级。0值用来表示完全透明。

Windows是传统的使用24位颜色信息,每个通道8位颜色,以表示“真彩色”;同时还有32位带有透明 度的真彩色。这仅仅是充分的关于计算机屏幕的平均水平。常规计算机表现的颜色和亮度范围是,24位颜 色对于大多数用途总是足够的。然而,对于很多图形化应用程序,这是不够的。例如,电影,相比于计算 机屏幕,可以提供一个更宽范围的亮度,还有24位颜色对于将电影作为输出媒介的图形化工作,是完全不 足够的,同样也不适用于很多医疗影像应用程序。即使对于计算机和视频影像,24位颜色也会引起一些问 题。如果图像需要经过很多阶段的处理,这些增强24位原材料的限制。

WPF因此在它的颜色表示中支持一个相当高等级的细节。每个颜色通道使用16位代替8位。这种Color结 构仍然在需要的地方支持8位通道的使用,因为大多数图像软件依赖于这样的表示。Color通过A、R、G、B 属性暴露了这些8位通道,这些属性接受0到255间的值。这种更高级的定义表示法——通过ScA、ScR、ScG 、ScB属性——也是有效的,这些属性代表了0到1范围内的单精度的浮点值。

ScA、ScR、ScG和ScB属性中的”Sc”涉及了这样的事实,它们支持标准的“Extended RGB colour spacescRGB”,颜色空间定义在IEC61966-2-2规范中。”sc”是“scene”的缩写,因为这通常是一个 scenereferred的颜色空间。这意味着scRGB空间的颜色值代表了原始图像的颜色。这是不同于计算机图像 通常是如何存储的。传统上说,我们已经使用了outputreferred颜色空间,颜色值不需要在显示于目标设 备之前映射到那里。

使用Outputreferred颜色空间可以有效地工作,只要它们恰好设定了输入设备的目标。然而, scenereferred颜色空间保护了所有的可利用信息在捕获或生成图像时。为了更高精度的颜色表示, scenereferred模型因此是更清晰的。即使它们工作起来有点低效率。

这里还有一个Color类,它提供了一组标准的命名颜色,包括所有旧有的喜好,如PapayWhip、 BurlyWood、LightGoldenrodYellow和Brown。

7.3.2 SolidColorBrush

SolidColorBrush是最简单的笔刷。它使用一种颜色给整个区域上色。它只有一个属性,Color。注意 到这个颜色允许使用透明度,尽管在单词中使用了Solid。

我们已经看到广泛使用SolidColorBrush,即使我们并未提供名称涉及它。这是因为WPF创建这种类型 的笔刷,一旦你详细指出了标记中颜色的名称。如果你

大都在标记中工作,你会很少需要指出你需要一个SolidColorBrush,因为你会得到一个默认值。(通 常你会详细指明它以完整的词,唯一的原因是你想使用笔刷属性的数据绑定)。考虑下面这个示例:

<Rectangle Fill=”Yellow” Width=”100” Height=”20” />

xaml编译器会认出Yellow为Color类中一个标准命名的颜色,它会提供一个合适的SolidColorBrush。 (参见附录A获取更多xaml映射字符串到属性值的信息)。这就不需要创建一个笔刷,因为存在一个 Brushes类,在Colors中为每一个命名颜色提供了一组笔刷。

时间: 2024-10-30 11:44:52

《Programming WPF》翻译 第7章 3.笔刷和钢笔的相关文章

《Programming WPF》翻译 第7章 2.图形

图形时绘图的基础,代表用户界面树的元素.WPF支持多种不同的形状,并为 它们每一个都提供了元素类型. 7.2.1基本图形类 在这一节列出的所有元素,派生于一个共同的抽象基类Shape.虽然你不能直 接使用这个类,知道它还是有帮助的,因为它定义了一组共同的特性--你可以 在任何形状上使用.这些共同的属性都被连接到形状的内部和外部被绘制的地方 . Fill属性详细指出了Brush要用于填充内部.Line和Polyline这些类没有内部 ,所以它们没有Fill属性.(这比通过有独立的Shape和Fil

《Programming WPF》翻译 目录

原文:<Programming WPF>翻译 目录 注:第1.2章我只做了笔记,没有翻译,请大家阅读时注意. 还有就是,这本书的英文版本下载:[O'Reilly] Programming Windows Presentation Foundation (2005) - BBL 以下是这本书的目录: 1.Hello, WPF     1.1 WPF from Scratch 基础     1.2 Navigation 导航     1.3 属性元素     1.4 布局     1.6 数据绑定

《Programming WPF》翻译 第7章 7.我们进行到哪里了?

WPF提供了一个范围的高质量生成和合成服务.一组形状元素支持各种的绘图基础.一些笔刷类型是可 利用的,对于决定如何绘制形状,以及钢笔,增大了笔刷来定义如何绘制轮廓.转换在所有级别都是被支 持的,使得缩放用户界面到任意分辨率和大小变得更容易.你可以集成视频和3-D内容到你的应用程序中 .以及一个低层次的API是可用于在必要的时候,工作在可视化层次.

Photoshop制作个性化锈迹笔刷

  生锈对金属制品和精密机械来说是一场灾难.在时间和水的作用下,金属元素与氧气产生化学作用生产氧化铁类合成物,就是我们所说的生锈.锈迹的产生不但影响外观并且影响物品本身的使用功能.但是对于专注于图片处理的设计师来说,锈迹确实可以将邋遢.纹理和现实反映在一起,是一种不可多得的表现途径. 在本期国外精品翻译教程中,我们不需等待大自然的创作,直接使用Photoshop制作逼真的锈迹效果. 图00 1.实物取材 制造锈迹的方法很多,但使用化学方法是一个快速.简易安全的方法,不过一定要做好安全方法措施哦.

Expression Design 4 - Chapter 5 教你如何用自製笔刷在5分钟内做出设计感效果

本章将教你如何运用笔刷与简单线条,只要5分钟,就能做出设计感效果 本章范例的最终图: 开始吧~! 01 首先,在画面上拉出四个宽.高皆为10px的正方形 如下图,四个方块由上至下颜色分别是#000000.#A1A1A1.#4D4D4D.#D6D6D6 接着使用上一章学到的自製笔刷方法把图形变为笔刷 02 使用Line(快捷键\)拉出线段, 设定Fill为None无填色.Stroke为#FF0000 以及刚刚自製的笔刷,Width设定为10px 笔刷套用后的效果如下图 使用相同方法,做出另一条线段

Expression Design 4 - Chapter 4 教你如何自製超炫笔刷

在Chapter 2 有稍微讲过Design内建笔刷的用法,本章将教大家如何自製独一无二的笔刷,并且重複利用 01 开启一个新专桉后,我们来複习一下,怎麽使用Design的内建笔刷 随意在主要工作区拖拉出一个形状,并配置上笔刷.笔刷宽度.笔刷颜色 看看你的图形外框是不是变得不一样? 02 虽然内建的笔刷很多,但是贴心的Design知道我们的创意无限,总会想要能展现自己的独特性 知道笔刷的运用后,我们开始製作自己的笔刷吧! 先製作出你想要的笔刷外观,我使用Polygon(快捷键J)拖拉出一个五角星

利用裂痕笔刷给美女脸部加上逼真裂痕

加裂纹的过程并不复杂.制作之前最好是下载一些裂纹笔刷或裂纹图片,然后应用到素材图片上面,再用图层样式等做出浮雕和纹理即可.当然教程只是一个提示,不仅是人物,其它素材图片也同样可以做出裂纹. 最终效果 .跟往常一样打开PS,因为原图是收费的,所以这里只能放张小图,大家可以用其它的图还代替.  2.下载我们的墙壁图纸. <点小图查看大图> 3.开打我们的壁纸,然后按Shift + Ctrl+ U,降低饱和度.因为我们要用它来制作一个笔刷.做好后只用裁剪工具,把我们需要的那个部分留下来.分类: PS

Photoshop笔刷制作照片特效教程

古代有一种方法处理密文,火烤一下就能显现出来,效果很独特.今天我们用Photoshop做一个特效处理,让照片不仅能做出这个效果,还可以进一步做出笔刷刷出来的纹理感觉.一起看看吧! 处理前后对比图 处理前 处理后 背景和笔刷是关键 在开始制作之前,我们需要准备好的素材图有:1张纸张质感的背景图.1张自己喜欢的图片.现在介绍一下本教程效果的制作思路,在纹理效果明显的纸质背景图片中放入自己喜欢的图片,然后添加图层蒙版,使用自己喜欢的笔刷(除了photoshop中自带的笔刷外,更多的艺术笔刷可以在网上下

Photoshop笔刷滤镜工具安装教程

很多朋友下载了非常漂亮的笔刷或功能强大的滤镜,但是不懂如何安装,今天PS教程带你一步步完成这些工具的安装. 1.Photoshop画笔的安装 Photoshop画笔的默认格式为.abr,如果你下载的是压缩包,请解压之后再安装. 方法一: 最简单的方法--双击abr画笔文件,或将abr文件拖动到Photoshop中,画笔将会自动安装到Photoshop中. 有些版本的PS不能用这种方法安装,如果你用这种方法不能成功安装,那么请往下看. 方法二: 选择画笔工具,在画布上点击右键,然后点击弹出菜单右上