private static Color Fade(Color color, double fading)
{
Debug.Assert(fading >= -1 && fading <= 1);
if (fading < 0)
{
var shade = 1 + fading;
return Color.FromArgb(ShadeComponent(color.R, shade), ShadeComponent(color.G, shade), ShadeComponent(color.B, shade));
}
else if (fading > 0)
{
var tint = 1 - fading;
return Color.FromArgb(TintComponent(color.R, tint), TintComponent(color.G, tint), TintComponent(color.B, tint));
}
else
return color;
}
private static int ShadeComponent(int component, double shade)
{
return Round(component * shade);
}
private static int TintComponent(int component, double tint)
{
return Round(255 - (255 - component) * tint);
}
private static int Round(double value)
{
return (int)Math.Round(value);
}
private void getShadesAndTints(Color c)
{
Double RGB; Double max;
RGB = (int)c.R + (int)c.G + (int)c.B;
max = (int)RGB / 38.25;
max = Math.Round(max);
if (max == 19) max = 20;
Double i; Double f;
int r; int g; int b;
for (i = 0; i < max; i++)
{
f = 1 / max;
f = i * f;
r = (int)(c.R * f); if (r > 255) r = 255;
g = (int)(c.G * f); if (g > 255) g = 255;
b = (int)(c.B * f); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
max = 20 - max;
for (i = 0; i < max; i++)
{
f = 1 / max;
f = i * f;
r = (int)((255 - c.R) * f + c.R); if (r > 255) r = 255;
g = (int)((255 - c.G) * f + c.G); if (g > 255) g = 255;
b = (int)((255 - c.B) * f + c.B); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
}
private void getShades(Color c)
{
int i; Double factor;
int r; int g; int b;
for (i = 20; i >=0; i--)
{
factor = i/20;
r = (int)(c.R * factor); if (r > 255) r = 255;
g = (int)(c.G * factor); if (g > 255) g = 255;
b = (int)(c.B * factor); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
}
private void getShadesAndTints(Color c)
{
int i; Double m;
int r; int g; int b;
for (i = 1; i < 21; i++)
{
m = i * 0.1;
r = (int)(c.R * m); if (r > 255) r = 255;
g = (int)(c.G * m); if (g > 255) g = 255;
b = (int)(c.B * m); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
}
{
Debug.Assert(fading >= -1 && fading <= 1);
if (fading < 0)
{
var shade = 1 + fading;
return Color.FromArgb(ShadeComponent(color.R, shade), ShadeComponent(color.G, shade), ShadeComponent(color.B, shade));
}
else if (fading > 0)
{
var tint = 1 - fading;
return Color.FromArgb(TintComponent(color.R, tint), TintComponent(color.G, tint), TintComponent(color.B, tint));
}
else
return color;
}
private static int ShadeComponent(int component, double shade)
{
return Round(component * shade);
}
private static int TintComponent(int component, double tint)
{
return Round(255 - (255 - component) * tint);
}
private static int Round(double value)
{
return (int)Math.Round(value);
}
private void getShadesAndTints(Color c)
{
Double RGB; Double max;
RGB = (int)c.R + (int)c.G + (int)c.B;
max = (int)RGB / 38.25;
max = Math.Round(max);
if (max == 19) max = 20;
Double i; Double f;
int r; int g; int b;
for (i = 0; i < max; i++)
{
f = 1 / max;
f = i * f;
r = (int)(c.R * f); if (r > 255) r = 255;
g = (int)(c.G * f); if (g > 255) g = 255;
b = (int)(c.B * f); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
max = 20 - max;
for (i = 0; i < max; i++)
{
f = 1 / max;
f = i * f;
r = (int)((255 - c.R) * f + c.R); if (r > 255) r = 255;
g = (int)((255 - c.G) * f + c.G); if (g > 255) g = 255;
b = (int)((255 - c.B) * f + c.B); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
}
private void getShades(Color c)
{
int i; Double factor;
int r; int g; int b;
for (i = 20; i >=0; i--)
{
factor = i/20;
r = (int)(c.R * factor); if (r > 255) r = 255;
g = (int)(c.G * factor); if (g > 255) g = 255;
b = (int)(c.B * factor); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
}
private void getShadesAndTints(Color c)
{
int i; Double m;
int r; int g; int b;
for (i = 1; i < 21; i++)
{
m = i * 0.1;
r = (int)(c.R * m); if (r > 255) r = 255;
g = (int)(c.G * m); if (g > 255) g = 255;
b = (int)(c.B * m); if (b > 255) b = 255;
colorList.Add(Color.FromArgb(r, g, b));
}
}
No comments:
Post a Comment