Color Structure

Describes a color in terms of alpha, red, green, and blue channels.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

'Declaration
<TypeConverterAttribute(GetType(ColorConverter))> _
<LocalizabilityAttribute(LocalizationCategory.None, Readability := Readability.Unreadable)> _
Public Structure Color _
	Implements IFormattable, IEquatable(Of Color)
<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 Values

predefinedColor

One of the colors predefined by the Colors class.

rgb

A three-digit hexadecimal number. The first digit specifies the color's R value, the second digit specifies the G value, and the third digit specifies the B value. For example, 00F.

argb

A four-digit hexadecimal number. The first digit specifies the color's A value, the second digit specifies its R value, the next digit specifies the G value, and the final digit specifies its B value. For example, F00F.

rrggbb

A six-digit hexadecimal number. The first two digits specify the color's R value, the next two specify its G value, and the final two specify its B value. For example, 0000FF.

aarrggbb

An eight-digit hexadecimal number. The first two digits specify the color's A value, the next two specify its R value, the next two specify its G value, and the final two specify its B value. For example, FF0000FF.

scA

System.Single

The color's ScA value.

scR

System.Single

The color's ScR value.

scG

System.Single

The color's ScG value.

scB

System.Single

The color's ScB value.

profileUri

System.Uri

The International Color Consortium (ICC) or Image Color Management (ICM) color profile.

alphaValue

System.Single

The alpha channel color value. The value range is 0.0 to 1.0.

colorValue

System.Single

A comma-delimited list of three to eight values that represent the color channels of the color profile. The value range is 0.0 to 1.0.

The Color type exposes the following members.

  NameDescription
Public propertyAGets or sets the sRGB alpha channel value of the color.
Public propertyBGets or sets the sRGB blue channel value of the color.
Public propertyColorContextGets the International Color Consortium (ICC) or Image Color Management (ICM) color profile of the color.
Public propertyGGets or sets the sRGB green channel value of the color.
Public propertyRGets or sets the sRGB red channel value of the color.
Public propertyScAGets or sets the ScRGB alpha channel value of the color.
Public propertyScBGets or sets the ScRGB blue channel value of the color.
Public propertyScGGets or sets the ScRGB green channel value of the color.
Public propertyScRGets or sets the ScRGB red channel value of the color.
Top

  NameDescription
Public methodStatic memberAddAdds two Color structures.
Public methodStatic memberAreCloseCompares two Color structures for fuzzy equality.
Public methodClampSets the ScRGB channels of the color to within the gamut of 0 to 1, if they are outside that range.
Public methodEquals(Color)Tests whether the specified Color structure is identical to this color.
Public methodEquals(Object)Tests whether the specified object is a Color structure and is equivalent to this color. (Overrides ValueType.Equals(Object).)
Public methodStatic memberEquals(Color, Color)Tests whether two Color structures are identical.
Public methodStatic memberFromArgbCreates a new Color structure by using the specified sRGB alpha channel and color channel values.
Public methodStatic memberFromAValuesCreates a new Color structure by using the specified alpha channel, color channel values, and color profile.
Public methodStatic memberFromRgbCreates a new Color structure by using the specified sRGB color channel values.
Public methodStatic memberFromScRgbCreates a new Color structure by using the specified ScRGB alpha channel and color channel values.
Public methodStatic memberFromValuesCreates a new Color structure by using the specified color channel values and color profile.
Public methodGetHashCodeGets a hash code for this Color structure. (Overrides ValueType.GetHashCode.)
Public methodGetNativeColorValuesGets the color channel values of the color.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodStatic memberMultiplyMultiplies the alpha, red, blue, and green channels of the specified Color structure by the specified value.
Public methodStatic memberSubtractSubtracts a Color structure from a Color structure.
Public methodToStringCreates a string representation of the color using the sRGB channels. (Overrides ValueType.ToString.)
Public methodToString(IFormatProvider)Creates a string representation of the color by using the sRGB channels and the specified format provider.
Top

  NameDescription
Public operatorStatic memberAdditionAdds two Color structures.
Public operatorStatic memberEqualityTests whether two Color structures are identical.
Public operatorStatic memberInequalityTests whether two Color structures are not identical.
Public operatorStatic memberMultiplyMultiplies the alpha, red, blue, and green channels of the specified Color structure by the specified value.
Public operatorStatic memberSubtractionSubtracts a Color structure from a Color structure.
Top

  NameDescription
Explicit interface implemetationPrivate methodIFormattable.ToStringFormats the value of the current instance using the specified format.
Top

This example shows how to use sRGB, ScRGB, and color profile values to create the color blue.

<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>

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft