3using XnaColor = Microsoft.Xna.Framework.Color;
58 public Color(
byte red,
byte green,
byte blue )
59 : this( red, green, blue, byte.MaxValue )
70 public Color(
byte red,
byte green,
byte blue,
byte alpha )
85 public Color(
int red,
int green,
int blue,
int alpha )
86 : this( (byte)red, (byte)green, (byte)blue, (byte)alpha )
96 public Color(
int red,
int green,
int blue )
97 : this( (byte)red, (byte)green, (byte)blue, byte.MaxValue )
117 public Color(
double red,
double green,
double blue )
118 : this( red, green, blue, 1.0 )
129 public Color(
double red,
double green,
double blue,
double alpha )
150 public static uint
PackRGB(
byte r,
byte g,
byte b,
byte a = 255 )
152 return (uint)( ( a << 24 ) | ( r << 16 ) | ( g << 8 ) | b );
164 public static uint
PackRGB(
int r,
int g,
int b,
int a = 255 )
166 return (uint)( ( a << 24 ) | ( r << 16 ) | ( g << 8 ) | b );
176 if ( hexString.StartsWith(
"#" ) )
177 hexString = hexString.Substring( 1 );
179 uint hex = uint.Parse( hexString, NumberStyles.HexNumber, CultureInfo.InvariantCulture );
182 if ( hexString.Length == 8 )
189 else if ( hexString.Length == 6 )
197 throw new InvalidOperationException(
"Invald hex representation of an ARGB or RGB color value." );
211 if ( row < 0 || row > 1 || col < 0 || col > 15 )
212 throw new ArgumentException(
"Row must be between 0 and 1 and column between 0 and 15." );
229 return colors[row, col];
241 return (
byte)( ( c >> 24 ) & 0xff );
252 return (
byte)( ( c >> 24 ) & 0xff );
263 return (
byte)( ( c >> 16 ) & 0xff );
274 return (
byte)( ( c >> 8 ) & 0xff );
285 return (
byte)( ( c >> 0 ) & 0xff );
296 return new Color( (
byte)( ( c >> 16 ) & 0xff ), (
byte)( ( c >> 8 ) & 0xff ),
297 (
byte)( ( c ) & 0xff ), (
byte)( ( c >> 24 ) & 0xff ) );
308 return new Color( (
byte)( ( c >> 16 ) & 0xff ), (
byte)( ( c >> 8 ) & 0xff ),
309 (
byte)( ( c ) & 0xff ), (
byte)( ( c >> 24 ) & 0xff ) );
323 return Math.Sqrt( rd + gd + bd );
334 double rd = Math.Pow( a.R - b.R, 2 );
335 double gd = Math.Pow( a.G - b.G, 2 );
336 double bd = Math.Pow( a.B - b.B, 2 );
337 return Math.Sqrt( rd + gd + bd );
364 return (uint)
ToInt();
384 return ToInt().ToString(
"X8" );
389#pragma warning disable CS1591
411 return c1.
ToUInt() == (uint)i2;
416 return c1.
ToUInt() != (uint)i2;
427 if ( c2 is uint )
return this == (uint)c2;
428 if ( c2 is
int )
return this == (uint)c2;
434 return !( c1 == c2 );
444 return new Color( color );
446#pragma warning restore CS1591
478 Microsoft.Xna.Framework.Color x = c.
AsXnaColor();
494 if ( r >
byte.MaxValue ) r =
byte.MaxValue;
495 if ( g >
byte.MaxValue ) g =
byte.MaxValue;
496 if ( b >
byte.MaxValue ) b =
byte.MaxValue;
497 Microsoft.Xna.Framework.Color x = c.
AsXnaColor();
507 if (colors.Length == 0)
508 throw new ArgumentException(
"Color.Average needs at least one argument");
510 double[] sums =
new double[4];
512 for (
int i = 0; i < colors.Length; i++)
514 sums[0] += colors[i].RedComponent / 255.0;
515 sums[1] += colors[i].GreenComponent / 255.0;
516 sums[2] += colors[i].BlueComponent / 255.0;
517 sums[3] += colors[i].AlphaComponent / 255.0;
521 sums[0] / colors.Length,
522 sums[1] / colors.Length,
523 sums[2] / colors.Length,
524 sums[3] / colors.Length
Microsoft.Xna.Framework.Color XnaColor
Microsoft.Xna.Framework.Color XnaColor
static readonly Color LimeGreen
Limetinvihreä.
static readonly Color BrightGreen
Kirkkaan vihreä.
static uint PackRGB(int r, int g, int b, int a=255)
Pakkaa kolme kokonaislukua väriä vastaavaksi kokonaisluvuksi
static readonly Color LightYellow
Vaalea keltainen.
static bool operator==(Color c1, Color c2)
static readonly Color DarkOrange
Tumma oranssi / ruskea.
static readonly Color Olive
Oliivi (tumma keltainen).
static readonly Color Cyan
Syaani.
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 Color IntToColor(int c)
Tekee kokonaisluvusta värin
static readonly Color Purple
Purppura.
static readonly Color JungleGreen
Viidakonvihreä.
static readonly Color Blue
Sininen.
static readonly Color Azure
Asuurinsininen.
static readonly Color MediumPurple
Tummahko purppura.
static readonly Color MediumBlue
Tummahko sininen.
static readonly Color ForestGreen
Metsänvihreä.
static readonly Color Charcoal
Hiilenmusta.
static readonly Color Ruby
Rubiininpunainen.
static byte GetRed(uint c)
Ottaa kokonaisluvusta punaisen värin
static readonly Color Crimson
Karmiininpunainen.
static readonly Color BloodRed
Verenpunainen.
static readonly Color Pink
Vaaleanpunainen.
static readonly Color White
Valkoinen.
uint ToUInt()
Muuttaa värin ARGB-kokonaisluvuksi
static readonly Color Yellow
Keltainen.
static readonly Color SpringGreen
Kevään vihreä.
static readonly Color BlueGray
Siniharmaa.
static readonly Color Turquoise
Turkoosi.
byte BlueComponent
Sininen värikomponentti välillä 0-255
static readonly Color PaintDotNetMagenta
Paint.NETin magenta (pinkki) väri.
static readonly Color Gold
Kulta.
Color(Color rgb, byte alpha)
Uusi väri aiemman pohjalta uudella läpinäkyvyydellä
static readonly Color SlateBlue
Saviliuskeensininen.
static byte GetGreen(uint c)
Ottaa kokonaisluvusta vihreän värin
byte RedComponent
Punainen värikomponentti välillä 0-255
static readonly Color Fuchsia
Fuksia (pinkki)
static readonly Color Emerald
Smaragdinvihreä.
static readonly Color DarkTurquoise
Tumma turkoosi.
Color(int red, int green, int blue)
Uusi väri
static byte GetAlpha(int c)
Ottaa kokonaisluvusta alpha-arvon
override string ToString()
Palautetaan väri heksamerkkijonona
static readonly Color DarkViolet
Tumma violetti.
static readonly Color PaintDotNetBlue
Paint.NETin sininen väri.
string ToString(bool alpha)
Palautetaan väri heksamerkkijonona.
static readonly Color Lime
Limetti.
static Color UIntToColor(uint c)
Tekee kokonaisluvusta värin
static readonly Color Mint
Mintunvihreä.
static readonly Color Transparent
Läpinäkyvä väri.
static readonly Color Ultramarine
Ultramariini (tumma sininen).
static uint PackRGB(byte r, byte g, byte b, byte a=255)
Pakkaa kolme kokonaislukua väriä vastaavaksi kokonaisluvuksi
static readonly Color DarkMagenta
Tumma magenta (purppura).
static readonly Color Silver
Hopea.
static readonly Color Aqua
Vedensininen.
static readonly Color Rose
Rose (punainen).
static bool operator!=(Color c1, uint i2)
static Color FromHexCode(string hexString)
Palauttaa heksakoodia vastaavan värin.
Color(byte red, byte green, byte blue)
Uusi väri
static byte GetBlue(uint c)
Ottaa kokonaisluvusta sinisen värin
Color(int red, int green, int blue, int alpha)
Uusi väri
static readonly Color Magenta
Magenta (pinkki)
static readonly Color DarkGreen
Tumma vihreä.
static readonly Color Navy
Laivastonsininen.
static readonly Color Green
Vihreä.
static readonly Color BrownGreen
Ruskeanvihreä.
byte GreenComponent
Vihreä värikomponentti välillä 0-255
static readonly Color Lavender
Laventeli.
static readonly Color Black
Musta.
static readonly Color DarkRed
Tumma punainen.
static readonly Color MediumVioletRed
Tummahko punavioletti.
override int GetHashCode()
static readonly Color HanPurple
Sinipurppurainen väri Han-dynastian ajoilta.
int ToIntRGB()
Muuttaa värin RGB-kokonaisluvuksi
static readonly Color OrangeRed
Punaoranssi.
byte AlphaComponent
Läpinäkymättömyys välillä 0-255
static readonly Color DarkGray
Tumma harmaa.
override bool Equals(Object c2)
static readonly Color DarkCyan
Tumma syaani.
static readonly Color RosePink
Rose-pinkki.
static readonly Color LightGray
Vaalea harmaa.
static readonly Color Brown
Ruskea.
Color(double red, double green, double blue, double alpha)
Uusi väri
static readonly Color Teal
Sinivihreä.
static readonly Color Ivory
Norsunluu.
static readonly Color SeaGreen
Merensininen.
static readonly Color SkyBlue
Taivaansininen.
static readonly Color DarkJungleGreen
Tumma viidakonvihreä.
static readonly Color DarkForestGreen
Tumma metsänvihreä.
static readonly Color DarkBrown
Tumma ruskea.
static readonly Color AshGray
Tuhkanharmaa.
static Color Darker(Color c, int howMuch)
Antaa tummemman värin. Vähentaa jokaista kolmea osaväriä arvon howMuch verran.
Color(double red, double green, double blue)
Uusi väri
static readonly Color Red
Punainen.
int ToInt()
Muuttaa värin ARGB-kokonaisluvuksi
static readonly Color GreenYellow
Keltavihreä.
static readonly Color Orange
Oranssi.
static readonly Color Salmon
Lohenpunainen.
static Color Mix(params Color[] colors)
Sekoittaa kahta tai useampaa väriä.
static readonly Color Wheat
Luonnonvalkoinen.
static readonly Color Maroon
Viininpunainen.
static readonly Color MediumTurquoise
Tummahko turkoosi.
Color(byte red, byte green, byte blue, byte alpha)
Uusi väri
static Color FromPaintDotNet(int row, int col)
Antaa värin Paint.net -ohjelman paletista.
static readonly Color YellowGreen
Keltavihreä.
static readonly Color Beige
Beessi.
static readonly Color HotPink
Pinkki.
static Color Lerp(Color value1, Color value2, double amount)
Lineaarinen interpolaatio värien välillä
static readonly Color DarkYellowGreen
Tumma keltavihreä (ruskeanvihreä).
static readonly Color DarkBlue
Tumma sininen.
static readonly Color DarkYellow
Tumma keltainen (oliivi).
static double Distance(XnaColor a, XnaColor b)
Laskee kahden värin (euklidisen) etäisyyden RGB-väriavaruudessa. Värikomponentit ovat välillä 0-255 j...
static readonly Color LightGreen
Vaalea vihreä.
static byte GetAlpha(uint c)
Ottaa kokonaisluvusta alpha-arvon
static readonly Color DarkAzure
Tumma asuuri.
static readonly Color Violet
Violetti.
static readonly Color Harlequin
Harlekiini (hieman keltaisella sävytetty kirkas vihreä).
static readonly Color LightPink
Vaalea vaaleanpunainen.
static readonly Color LightCyan
Vaalea syaani.
static readonly Color Snow
Lumenvalkoinen.
static readonly Color SlateGray
Saviliuskeenharmaa.
static readonly Color LightBlue
Vaalea sininen.
static readonly Color Gray
Harmaa.
static Color Lighter(Color c, int howMuch)
Antaa kirkkaamman värin. Kasvattaa jokaista kolmea osaväriä arvon howMuch verran.
static readonly Color MidnightBlue
Keskiyön sininen.
static readonly Color Aquamarine
Akvamariini.