public Color GetDynamicColor()
{
int[] emptyData = new int[] { emptyColor.R, emptyColor.G, emptyColor.B, emptyColor.A };
int[] fullData = new int[] { fullColor.R, fullColor.G, fullColor.B, fullColor.A };
int[] differenceData = new int[] { emptyColor.R - fullColor.R, emptyColor.G - fullColor.G,
emptyColor.B - fullColor.B, emptyColor.A - fullColor.A };
return Color.FromNonPremultiplied(
emptyColor.R - (int)((differenceData[0] / 100.0) * this.percentage),
emptyColor.G - (int)((differenceData[1] / 100.0) * this.percentage),
emptyColor.B - (int)((differenceData[2] / 100.0) * this.percentage),
emptyColor.A - (int)((differenceData[3] / 100.0) * this.percentage));
}