Files
@ 1846a628223c
Branch filter:
Location: ATITD-Tools/Desert-Paint-Lab/PaintColor.cs
1846a628223c
2.1 KiB
text/x-csharp
Use luminance value to determine whether exported wiki color text should be white-on-color instead of default black-on-color
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | using System;
namespace DesertPaintLab
{
public class PaintColor
{
byte red;
byte green;
byte blue;
string name;
public byte Red
{
get
{
return red;
}
set
{
red = value;
}
}
public byte Blue
{
get
{
return blue;
}
set
{
blue = value;
}
}
public byte Green
{
get
{
return green;
}
set
{
green = value;
}
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public PaintColor()
{
name = "Undefined";
red = 0;
green = 0;
blue = 0;
}
public PaintColor(string name, string hexRed, string hexGreen, string hexBlue)
{
this.name = name;
red = (byte)System.Int32.Parse(hexRed,
System.Globalization.NumberStyles.AllowHexSpecifier);
green = (byte)System.Int32.Parse(hexGreen,
System.Globalization.NumberStyles.AllowHexSpecifier);
blue = (byte)System.Int32.Parse(hexBlue,
System.Globalization.NumberStyles.AllowHexSpecifier);
}
public PaintColor(byte red, byte green, byte blue)
{
name = "Undefined";
this.red = red;
this.green = green;
this.blue = blue;
}
public PaintColor(PaintColor other)
{
name = other.name;
red = other.red;
green = other.green;
blue = other.blue;
}
public int GetDistanceSquared(PaintColor otherColor)
{
return (int)(Math.Pow(this.red - otherColor.red, 2) +
Math.Pow(this.green - otherColor.green, 2) +
Math.Pow(this.blue - otherColor.blue, 2));
}
public void Clear()
{
red = 0;
green = 0;
blue = 0;
}
public void Set(PaintColor other)
{
this.red = other.red;
this.green = other.green;
this.blue = other.blue;
this.name = other.name;
}
public override string ToString()
{
return "[" + name + ", " + red + ", " + green + ", " + blue + "]";
}
}
}
|