Color 结构

定义

从 alpha、红色、绿色和蓝色通道角度描述一种颜色。

public value class Color : IEquatable<System::Windows::Media::Color>, IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.ColorConverter))]
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public struct Color : IEquatable<System.Windows.Media.Color>, IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.ColorConverter))>]
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type Color = struct
    interface IFormattable
Public Structure Color
Implements IEquatable(Of Color), IFormattable
继承
属性
实现

示例

此示例演示如何使用 sRGB、ScRGB 和颜色配置文件值创建蓝色。

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<StackPanel Margin="20">
  
  <!-- This rectangle fill uses a Color with ScRGB values to
       create a completely opaque blue. -->
  <Rectangle Width="50" Height="50"  Margin="10">
     <Rectangle.Fill>
       <SolidColorBrush>
         <SolidColorBrush.Color>

           <!-- Describes the brush's color using
                ScRGB values. Each value has a range of 0-1.  -->
           <Color ScA="1.0" ScR="0.0" ScG="0.0" ScB="1.0" />
        </SolidColorBrush.Color>
      </SolidColorBrush>
    </Rectangle.Fill>
  </Rectangle>

  <!-- This rectangle fill uses a Color with sRGB values to
       create a completely opaque blue. -->
  <Rectangle Width="50" Height="50"  Margin="10">
     <Rectangle.Fill>
       <SolidColorBrush>
         <SolidColorBrush.Color>

           <!-- Describes the brush's color using
                sRGB values. Each value is a byte with range of 0-255.  -->
           <Color A="255" R="0" G="0" B="255" />
        </SolidColorBrush.Color>
      </SolidColorBrush>
    </Rectangle.Fill>
  </Rectangle>

  <!-- This rectangle fill uses the sRGB color profile and values to
       create a complete opaque blue. -->
  <Rectangle Width="50" Height="50"  Margin="10">
    <Rectangle.Fill>
      <SolidColorBrush Color="ContextColor 
       file://C:/WINDOWS/system32/spool/drivers/color/sRGB%20Color%20Space%20Profile.icm
       1.0,0.0,0.0,1.0"/>
    </Rectangle.Fill>
  </Rectangle>

</StackPanel>
</Page>

注解

XAML 属性用法

<object property="predefinedColor"/>  
- or -  
<object property="#rgb"/>  
- or -  
<object property="#argb"/>  
- or -  
<object property="#rrggbb"/>  
- or -  
<object property="#aarrggbb"/>  
- or -  
<object property="sc# scA,scR,scG,scB"/>  
- or -  
<object property="ContextColor profileUri alphaValue,colorValue"/>  

XAML 值

predefinedColor
类预定义 Colors 的颜色之一。

Rgb
三位数十六进制数。 第一位数字指定颜色 R 的值,第二位数字指定 G 值,第三位数字指定 B 值。 例如,00F

argb
四位数十六进制数。 第一位数字指定颜色 A 的值,第二位数字指定其 R 值,下一位数字指定 G 值,最终数字指定其 B 值。 例如,F00F

rrggbb
六位数十六进制数。 前两位数字指定颜色 R 的值,接下来的两位指定其 G 值,最后两位指定其 B 值。 例如,0000FF

aarrggbb
八位数十六进制数。 前两位数字指定颜色 A 的值,接下来的两位指定其 R 值,接下来的两位指定其 G 值,最后两位指定其 B 值。 例如,FF0000FF

Sca
System.Single

颜色 ScA 的值。

Scr
System.Single

颜色 ScR 的值。

scG
System.Single

颜色 ScG 的值。

渣 打 银行
System.Single

颜色 ScB 的值。

profileUri
System.Uri

国际颜色联盟 (ICC) 或图像颜色管理 (ICM) 颜色配置文件。

alphaValue
System.Single

alpha 通道颜色值。 值范围为 0.0 到 1.0。

colorValue
System.Single

三到八个值的逗号分隔列表,表示颜色配置文件的颜色通道。 值范围为 0.0 到 1.0。

属性

A

获取或设置颜色的 sRGB alpha 通道值。

B

获取或设置颜色的 sRGB 蓝色通道值。

ColorContext

获取国际颜色联盟 (ICC) 或图像颜色管理 (ICM) 颜色配置文件。

G

获取或设置颜色的 sRGB 绿色通道值。

R

获取或设置颜色的 sRGB 红色通道值。

ScA

获取或设置颜色的 ScRGB alpha 通道值。

ScB

获取或设置颜色的 ScRGB 蓝色通道值。

ScG

获取或设置颜色的 ScRGB 绿色通道值。

ScR

获取或设置颜色的 ScRGB 红色通道值。

方法

Add(Color, Color)

将两个 Color 结构相加。

AreClose(Color, Color)

比较两个 Color 结构是否模糊相等。

Clamp()

如果颜色的 ScRGB 通道不在 0 到 1 的范围内,请将它们设置在此范围内。

Equals(Color)

测试指定的对象是否为 Color 结构并与当前颜色完全相同。

Equals(Color, Color)

测试两个 Color 结构是否相同。

Equals(Object)

测试指定的对象是否为 Color 结构并等同于当前颜色。

FromArgb(Byte, Byte, Byte, Byte)

使用指定的 sRGB Alpha 通道和颜色通道值创建一个新的 Color 结构。

FromAValues(Single, Single[], Uri)

使用指定的 Alpha 通道、颜色通道值和颜色配置文件创建一个新的 Color 结构。

FromRgb(Byte, Byte, Byte)

使用指定的 sRGB 颜色通道值创建一个新的 Color 结构。

FromScRgb(Single, Single, Single, Single)

使用指定的 ScRGB Alpha 通道和颜色通道值创建一个新的 Color 结构。

FromValues(Single[], Uri)

使用指定的颜色通道值和颜色配置文件创建一个新的 Color 结构。

GetHashCode()

获取此 Color 结构的哈希代码。

GetNativeColorValues()

获取颜色的颜色通道值。

Multiply(Color, Single)

将指定的 Color 结构的 Alpha、红色、蓝色和绿色通道与指定值相乘。

Subtract(Color, Color)

从一个 Color 结构中减去一个 Color 结构。

ToString()

使用 sRGB 通道创建颜色的字符串表示形式。

ToString(IFormatProvider)

使用 sRGB 通道和指定的格式提供程序创建颜色的字符串表示形式。

运算符

Addition(Color, Color)

将两个 Color 结构相加。

Equality(Color, Color)

测试两个 Color 结构是否相同。

Inequality(Color, Color)

测试两个 Color 结构是否不同。

Multiply(Color, Single)

将指定的 Color 结构的 Alpha、红色、蓝色和绿色通道与指定值相乘。

Subtraction(Color, Color)

从一个 Color 结构中减去一个 Color 结构。

显式接口实现

IFormattable.ToString(String, IFormatProvider)

使用指定格式对当前实例的值设置格式。

适用于