3 using XnaColor = Microsoft.Xna.Framework.Color;
50 RedComponent, GreenComponent, BlueComponent, AlphaComponent );
53 public Color( byte red, byte green, byte blue )
54 : this( red, green, blue, byte.MaxValue )
58 public Color( byte red, byte green, byte blue, byte alpha )
61 GreenComponent = green;
63 AlphaComponent = alpha;
66 public Color(
int red,
int green,
int blue,
int alpha )
67 : this( (byte)red, (byte)green, (byte)blue, (byte)alpha )
71 public Color(
int red,
int green,
int blue )
72 : this( (byte)red, (byte)green, (byte)blue, byte.MaxValue )
77 : this( rgb.RedComponent, rgb.GreenComponent, rgb.BlueComponent, alpha )
81 public Color(
double red,
double green,
double blue )
82 : this( red, green, blue, 1.0 )
86 public Color(
double red,
double green,
double blue,
double alpha )
93 RedComponent = xnaColor.R;
94 GreenComponent = xnaColor.G;
95 BlueComponent = xnaColor.B;
96 AlphaComponent = xnaColor.A;
107 public static uint
PackRGB( byte r, byte g, byte b, byte a = 255 )
109 return (uint)( ( a << 24 ) | ( r << 16 ) | ( g << 8 ) | b );
121 public static uint
PackRGB(
int r,
int g,
int b,
int a = 255 )
123 return (uint)( ( a << 24 ) | ( r << 16 ) | ( g << 8 ) | b );
133 if ( hexString.StartsWith(
"#" ) )
134 hexString = hexString.Substring( 1 );
136 uint hex = uint.Parse( hexString, NumberStyles.HexNumber, CultureInfo.InvariantCulture );
139 if ( hexString.Length == 8 )
146 else if ( hexString.Length == 6 )
154 throw new InvalidOperationException(
"Invald hex representation of an ARGB or RGB color value." );
168 if ( row < 0 || row > 1 || col < 0 || col > 15 )
169 throw new ArgumentException(
"Row must be between 0 and 1 and column between 0 and 15." );
186 return colors[row, col];
196 return (byte)( ( c >> 24 ) & 0xff );
207 return (byte)( ( c >> 24 ) & 0xff );
218 return (byte)( ( c >> 16 ) & 0xff );
229 return (byte)( ( c >> 8 ) & 0xff );
240 return (byte)( ( c >> 0 ) & 0xff );
251 return new Color( (byte)( ( c >> 16 ) & 0xff ), (byte)( ( c >> 8 ) & 0xff ),
252 (byte)( ( c ) & 0xff ), (byte)( ( c >> 24 ) & 0xff ) );
263 return new Color( (byte)( ( c >> 16 ) & 0xff ), (byte)( ( c >> 8 ) & 0xff ),
264 (byte)( ( c ) & 0xff ), (byte)( ( c >> 24 ) & 0xff ) );
278 return Math.Sqrt( rd + gd + bd );
289 double rd = Math.Pow( a.R - b.R, 2 );
290 double gd = Math.Pow( a.G - b.G, 2 );
291 double bd = Math.Pow( a.B - b.B, 2 );
292 return Math.Sqrt( rd + gd + bd );
301 return ( AlphaComponent << 24 ) + ( RedComponent << 16 ) + ( GreenComponent << 8 ) +
BlueComponent;
310 return ( RedComponent << 16 ) + ( GreenComponent << 8 ) + BlueComponent;
319 return (uint)
ToInt();
339 return ToInt().ToString(
"X8" );
365 return c1.
ToUInt() == (uint)i2;
370 return c1.
ToUInt() != (uint)i2;
380 if ( c2 is
Color )
return this == (Color)c2;
381 if ( c2 is uint )
return this == (uint)c2;
382 if ( c2 is
int )
return this == (uint)c2;
389 return !( c1 == c2 );
415 Microsoft.Xna.Framework.Color x = c.AsXnaColor();
431 if ( r > byte.MaxValue ) r = byte.MaxValue;
432 if ( g > byte.MaxValue ) g = byte.MaxValue;
433 if ( b > byte.MaxValue ) b = byte.MaxValue;
434 Microsoft.Xna.Framework.Color x = c.AsXnaColor();
445 if (colors.Length == 0)
446 throw new ArgumentException(
"Color.Average needs at least one argument");
448 double[] sums =
new double[4];
450 for (
int i = 0; i < colors.Length; i++)
452 sums[0] += colors[i].RedComponent / 255.0;
453 sums[1] += colors[i].GreenComponent / 255.0;
454 sums[2] += colors[i].BlueComponent / 255.0;
455 sums[3] += colors[i].AlphaComponent / 255.0;
459 sums[0] / colors.Length,
460 sums[1] / colors.Length,
461 sums[2] / colors.Length,
462 sums[3] / colors.Length
static Color UIntToColor(uint c)
Tekee kokonaisluvusta värin
static readonly Color HanPurple
Sinipurppurainen väri Han-dynastian ajoilta.
static byte GetGreen(uint c)
Ottaa kokonaisluvusta vihreän värin
byte BlueComponent
Sininen värikomponentti välillä 0-255
static readonly Color Silver
Hopea.
static Color Mix(params Color[] colors)
Sekoittaa kahta tai useampaa väriä.
static readonly Color LightPink
Vaalea vaaleanpunainen.
static readonly Color Beige
Beessi.
static readonly Color LightYellow
Vaalea keltainen.
static readonly Color Green
Vihreä.
int ToInt()
Muuttaa värin ARGB-kokonaisluvuksi
static readonly Color SkyBlue
Taivaansininen.
static readonly Color DarkAzure
Tumma asuuri.
Color(double red, double green, double blue, double alpha)
static readonly Color Black
Musta.
static readonly Color Crimson
Karmiininpunainen.
static readonly Color Teal
Sinivihreä.
static readonly Color Aquamarine
Akvamariini.
static readonly Color DarkMagenta
Tumma magenta (purppura).
Color(int red, int green, int blue, int alpha)
static readonly Color LightGray
Vaalea harmaa.
byte GreenComponent
Vihreä värikomponentti välillä 0-255
static readonly Color Red
Punainen.
static double Distance(Color a, Color b)
Laskee kahden värin (euklidisen) etäisyyden RGB-väriavaruudessa. Värikomponentit ovat välillä 0-255 j...
static readonly Color Cyan
Syaani.
static readonly Color DarkOrange
Tumma oranssi / ruskea.
static readonly Color Purple
Purppura.
static readonly Color DarkBlue
Tumma sininen.
static readonly Color DarkYellowGreen
Tumma keltavihreä (ruskeanvihreä).
static readonly Color LightBlue
Vaalea sininen.
static readonly Color SlateBlue
Saviliuskeensininen.
static Color Darker(Color c, int howMuch)
Antaa tummemman värin. Vähentaa jokaista kolmea osaväriä arvon howMuch verran.
static readonly Color Fuchsia
Fuksia (pinkki)
static readonly Color DarkTurquoise
Tumma turkoosi.
static readonly Color LimeGreen
Limetinvihreä.
static bool operator!=(Color c1, uint i2)
Color(int red, int green, int blue)
static readonly Color Brown
Ruskea.
static readonly Color Violet
Violetti.
static readonly Color Lime
Limetti.
static readonly Color MidnightBlue
Keskiyön sininen.
static readonly Color Rose
Rose (punainen).
Color(double red, double green, double blue)
byte RedComponent
Punainen värikomponentti välillä 0-255
static readonly Color Snow
Lumenvalkoinen.
static Color FromHexCode(string hexString)
Palauttaa heksakoodia vastaavan värin.
static readonly Color Lavender
Laventeli.
static readonly Color OrangeRed
Punaoranssi.
static readonly Color Orange
Oranssi.
static readonly Color Mint
Mintunvihreä.
static readonly Color MediumPurple
Tummahko purppura.
Color(byte red, byte green, byte blue)
static Color FromPaintDotNet(int row, int col)
Antaa värin Paint.net -ohjelman paletista.
static readonly Color SlateGray
Saviliuskeenharmaa.
static readonly Color Yellow
Keltainen.
static byte GetBlue(uint c)
Ottaa kokonaisluvusta sinisen värin
static readonly Color Ultramarine
Ultramariini (tumma sininen).
static readonly Color RosePink
Rose-pinkki.
uint ToUInt()
Muuttaa värin ARGB-kokonaisluvuksi
static Color IntToColor(int c)
Tekee kokonaisluvusta värin
static readonly Color MediumVioletRed
Tummahko punavioletti.
static Color Lerp(Color value1, Color value2, double amount)
static readonly Color DarkViolet
Tumma violetti.
Color(byte red, byte green, byte blue, byte alpha)
static byte GetAlpha(uint c)
Ottaa kokonaisluvusta alpha-arvon
static readonly Color Gray
Harmaa.
static readonly Color DarkJungleGreen
Tumma viidakonvihreä.
Microsoft.Xna.Framework.Color XnaColor
static readonly Color MediumTurquoise
Tummahko turkoosi.
static readonly Color DarkCyan
Tumma syaani.
static readonly Color Magenta
Magenta (pinkki)
static readonly Color Ivory
Norsunluu.
string ToString(bool alpha)
Palautetaan väri heksamerkkijonona.
static readonly Color Transparent
Läpinäkyvä väri.
static readonly Color LightGreen
Vaalea vihreä.
static readonly Color Wheat
Luonnonvalkoinen.
static readonly Color Pink
Vaaleanpunainen.
static readonly Color SeaGreen
Merensininen.
static readonly Color Aqua
Vedensininen.
static readonly Color Olive
Oliivi (tumma keltainen).
static readonly Color PaintDotNetMagenta
Paint.NETin magenta (pinkki) väri.
static readonly Color DarkBrown
Tumma ruskea.
override bool Equals(Object c2)
static readonly Color GreenYellow
Keltavihreä.
static readonly Color BloodRed
Verenpunainen.
static readonly Color SpringGreen
Kevään vihreä.
static readonly Color Azure
Asuurinsininen.
static uint PackRGB(int r, int g, int b, int a=255)
Pakkaa kolme kokonaislukua väriä vastaavaksi kokonaisluvuksi
static readonly Color HotPink
Pinkki.
static readonly Color DarkForestGreen
Tumma metsänvihreä.
static readonly Color BrownGreen
Ruskeanvihreä.
static readonly Color DarkGreen
Tumma vihreä.
static readonly Color Turquoise
Turkoosi.
static byte GetAlpha(int c)
Ottaa kokonaisluvusta alpha-arvon
static readonly Color Maroon
Viininpunainen.
static readonly Color Emerald
Smaragdinvihreä.
static readonly Color Blue
Sininen.
static readonly Color Gold
Kulta.
static readonly Color BrightGreen
Kirkkaan vihreä.
byte AlphaComponent
Läpinäkymättömyys välillä 0-255
override string ToString()
Palautetaan väri heksamerkkijonona
static bool operator==(Color c1, Color c2)
static readonly Color AshGray
Tuhkanharmaa.
static uint PackRGB(byte r, byte g, byte b, byte a=255)
Pakkaa kolme kokonaislukua väriä vastaavaksi kokonaisluvuksi
Color(Color rgb, byte alpha)
static readonly Color LightCyan
Vaalea syaani.
static readonly Color Harlequin
Harlekiini (hieman keltaisella sävytetty kirkas vihreä).
static byte GetRed(uint c)
Ottaa kokonaisluvusta punaisen värin
static readonly Color BlueGray
Siniharmaa.
static readonly Color PaintDotNetBlue
Paint.NETin sininen väri.
static readonly Color DarkGray
Tumma harmaa.
static readonly Color DarkRed
Tumma punainen.
static readonly Color ForestGreen
Metsänvihreä.
static readonly Color MediumBlue
Tummahko sininen.
static readonly Color Salmon
Lohenpunainen.
static readonly Color DarkYellow
Tumma keltainen (oliivi).
static readonly Color White
Valkoinen.
static readonly Color JungleGreen
Viidakonvihreä.
static readonly Color Navy
Laivastonsininen.
static Color Lighter(Color c, int howMuch)
Antaa kirkkaamman värin. Kasvattaa jokaista kolmea osaväriä arvon howMuch verran. ...
override int GetHashCode()
static readonly Color YellowGreen
Keltavihreä.
static readonly Color Ruby
Rubiininpunainen.
int ToIntRGB()
Muuttaa värin RGB-kokonaisluvuksi
static readonly Color Charcoal
Hiilenmusta.