分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

.net FrameWork 3.0 后,我们会发现有两个Color数据结构。
一个是:System.Drawing.Color
一个是:System.Windows.Media.Color

这两个结构有啥区别呢?

下面是对这两个类的属性的一个简单比较:

  System.Drawing.Color Structure System.Windows.Media.Color Structure
所在组件 System.Drawing.dll PresentationCore.dll
支持的版本

.NET Framework
Supported in: 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

.NET Compact Framework
Supported in: 3.5, 2.0, 1.0

XNA Framework
Supported in: 1.0

.NET Framework
Supported in: 3.5, 3.0 SP1, 3.0

A Gets the alpha component value of this Color structure. Gets or sets the sRGB alpha channel value of the color.
B Gets the blue component value of this Color structure. Gets or sets the sRGB blue channel value of the color.
G Gets the green component value of this Color structure. Gets or sets the sRGB green channel value of the color.
R Gets the red component value of this Color structure. Gets or sets the sRGB red channel value of the color.
ScA 不支持 Gets or sets the ScRGB alpha channel value of the color.
ScB 不支持 Gets or sets the ScRGB blue channel value of the color.
ScG 不支持 Gets or sets the ScRGB green channel value of the color.
ScR 不支持 Gets or sets the ScRGB red channel value of the color.
获得系统支持的一些颜色 在Color中定义了141种系统预定义的颜色
调用方法如下:
System.Drawing.Color.AliceBlue
不在Color中定义,而是Colors中定义,获得方法类似下面写法:
System.Windows.Media.Colors.AliceBlue
系统一共预定义了141个颜色。
小结 只支持 sRGB。向下兼容 同时支持 sRGB、ScRGB。不兼容3.0以下的版本

我们可以在上面看到,关键是sRGB和ScRGB两种颜色表示方法。这两种有啥差别呢?我们来看下面三副图,先来感性的看看:

这幅图的巧妙之外在于它通过“归一化”,用两维平面来表示三个数据。X轴是红色的比例,Y轴是绿色的比例,而Z轴是蓝色的比例,虽然Z轴没有画出来,但它的比例数据可以很方便地计算出来。比方红是0.2,绿是0.3,那么蓝就是0.5。因为它们三者加起来必须等于1,不然怎么叫“归一化”呢!图上任何一点的蓝色分量,你都可以用这个方法计算出来。

图中的“舌形”色域空间,是人眼能够辨别的色彩空间,它的边缘围绕一道从波长从380到700(毫微米)的光谱,中间就是用红、绿、蓝三种颜色按不同比例调配出来的颜色。

而图中的三角的区域,是 sRGB 可以表示的颜色范围。显然有一些我们人类可以看到的颜色,但是sRGB来描述的。

上面这幅图对比了 sRGB、人眼、ScRGB 可以表示的颜色范围。

上面这幅图是sRGB和ScRGB两幅图的比较,注意看放大了的云彩。

sRGB 和 scRGB 的转换

在 System.Windows.Media.Color 结构中,scRGB原色其实是被储存成单精度(single-precision)的浮点数。想要容纳scRGB颜色空间,Color 结构包含四个主要的property,类型都是float,分别为ScA、ScR、ScG、ScB。
这些property和A、R、G、B property 会相互影响,改编G property也会造成ScG property的改变,反之亦然。

当G property 为0,ScG property 也会为0;当G property 为255,ScG property 就会为1。在这个范围之内,
关系并非是线性的,如下表所示。

scG G
<= 0 0
0.1 89
0.2 124
0.3 149
0.4 170
0.5 188
0.6 203
0.7 218
0.8 231
0.9 243
>=1.0 255

ScR 与 R 之间的关系,ScB与B之间的关系,以及ScG与G之间的关系,也都是一样的。ScG的值可以小于0或者大于1,以容纳超出显示器和sRGB数字范围的颜色。

sRGB和scRGB的比较

sRGB目标是使同一网页在不同计算机上显示时的色彩更一致,但只适用于CRT显示器。微软HD Photo项目负责人克劳说,sRGB的挑战在于它只是完整色彩空间的一个子集,当使用sRGB编码时,我们会丢掉一些色彩。

scRGB色彩空间是sRGB扩展,对于黑色和纯绿色而言,这二者没有任何分别。二者的差别就在于scRGB能够显示人眼无法分辨的颜色,其精细程度也超过了sRGB。

scRGB描述每个点所需要的位数是sRGB 2倍,甚至是4倍。不仅能够使用整数,还能够使用浮点数,提高图像的精细程度。

参考资料:

关于scRGB色彩空间
http://hi.baidu.com/cybo/blog/item/8f24ba38bbb584c1d5622597.html

第二章 基本的Brush画刷类 [App = Code + Markup]
http://www.cnblogs.com/rickiedu/archive/2007/04/04/699529.html

GDI+与WPF中的颜色简析
http://blog.csdn.net/johnsuna/archive/2007/08/27/1761061.aspx

简述WPF中的图像像素格式(PixelFormats)
http://blog.csdn.net/johnsuna/archive/2007/08/28/1762901.aspx

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

sRGB和scRGB的区别相关推荐

  1. SRGB和RGB的区别

    红,绿,蓝是3基色,它们叠合在一起产生了我们在数码影像领域科技革新中所有可能的颜色.这些我们所认为的"所有的颜色"从我们的显示器,打印机和其他数码影像设备发出,并且它们都可以 &q ...

  2. Adobe RGB和sRGB色彩空间的主要区别

    首先在于开发时间和开发厂家不同.sRGB色彩空间是美国的惠普公司和微软公司于1997年共同开发的标准色彩空间(standard Red Green Blue),由于这两家公司的实力强,他们的产品在市场 ...

  3. WPF,Silverlight与XAML读书笔记第三十七 - 可视化效果之Brush

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. Brush用于定义形状的填充,包括前景色与背 ...

  4. PDL格式解决方案Aspose.Page重磅上新!两大文档格式功能助力文档管理!

    近期,Aspose发布了一款新产品Aspose.Page--XPS,PS和EPS文件格式解决方案,用于创建和操作XPS文档,以及将XPS和PostScript格式转换为PDF和光栅图像.下面我们一起来 ...

  5. 了不起的Chrome浏览器(6):Chrome 94开始WebGPU试用,Web的图像渲染及机器学能力更强了

    9月21日正式发布的Chrome 94,带来了哪些有意思的新特性呢? 背景 十多年来,Web技术突飞猛进,其中Chrome功不可没,了解Chrome可以帮助我们理解前端行业的发展趋势. 因此,我将以& ...

  6. sRGB 和 Adobe RGB 有什么区别?

    AdobeRGB与sRGB这两个东西存在相机选单已久,以往总是听闻别的摄影同好们来做选择,选择一次定终生,但你真的知道这两者之间到底有什么差异性吗?Fstoppers网站就做了一些相关测试,这边笔者也 ...

  7. Java中的frontcolor_关于java:Color.red和Color.RED之间的区别

    setXxx(Color.red)和setXxx(Color.red)的定义之间的真正区别是什么? 我在网上找到了以下解释. 这是关于命名约定的吗? Java originally defined a ...

  8. Unity内置管线升级URP之色彩空间(伽马、sRGB、Gamma Space和Linear Space)

    目录 本文内容 伽马(Gamma) sRGB 色彩空间(Color Space) 总结 转色彩空间后出现问题的缘由 1.相同场景材质和光照为什么变暗了? 2.个人定制化的PBR显示不正确了?(讨论的是 ...

  9. 神舟战神g8r9和g9r9区别对比评测选哪个好

    神舟战神g8r9和g9r9区别可以说没有,不管是外观颜色.尺寸.续航.处理器.存储等都相同,唯一不同的就是显卡,神舟战神g8r9搭载的是NIVIDA GeForce RTX 4060显卡,而神舟战神g ...

最新文章

  1. 机器智能加速器:大数据环境下知识工程的机遇和挑战 | 清华李涓子教授
  2. 七天学习计划_c#_[6][7]多线程
  3. 机器学习中训练集、验证集和测试集的区别
  4. 浅谈Linux下的EXT3文件系统
  5. javaweb k8s_K8S微服务核心架构学习指南 ASP.NET Core微服务基于K8S 架构师必备Kubernetes教程...
  6. php+摩尔斯电码,PHP摩尔斯电码转换器
  7. 使用postman发送HttpServletRequest请求
  8. Java高级语法笔记-普通异常处理
  9. Android中Adapter适配器的介绍以及用法的总结
  10. css ios动画,我的CSS动画未在iOS的
  11. vscode remote 第三方库_分钟将vscode撸成小霸王
  12. 'int' object has no attribute 'backward'报错 使用Pytorch编写 Hinge loss函数
  13. CSS 世界 阅读笔记:(Ch1-Ch3)
  14. 史上最详细蝉道开源安装步骤。
  15. 如何对excel某一列的数据进行分列
  16. STM32单片机初学心得
  17. Altium Designer 10对集成库的理解
  18. nvcc与nvidia
  19. 网络云存储技术Windows server 2012 (项目九 存储服务器文件的安全性配置与管理)
  20. unity代码混淆及帧同步服务器、常用软件记录

热门文章

  1. 三门问题的扩展用c++模拟
  2. openGL增强表面细节--凹凸贴图
  3. The Independent JPEG Group‘s JPEG software
  4. leet 75. 颜色分类
  5. c++ RMI demo(使用RCF库)
  6. 我的世界rpg服务器背包位置,我的世界查看玩家背包方法 如何查看玩家背包
  7. 创新之道,亚马逊创新之旅背后的故事
  8. 机器学习:XGBoost+LightGBM+catboost+5折+stacking的用法
  9. vue项目购物车组件、清空购物车
  10. expr4j 表达式计算