public Bitmap ColorFiltration(Bitmap OriginalImage, string color)
{
Bitmap OutputImage = new System.Drawing.Bitmap(OriginalImage.Width, OriginalImage.Height);
if (color != "Magenta" && color != "Yellow" && color != "Cyan" && color != "Magenta-Yellow" && color != "Cyan-Magenta" && color != "Yellow-Cyan")
{
throw new Exception("Available color filters are: Magenta, Yellow, Cyan, Magenta-Yellow, Cyan-Magenta, Yellow-Cyan");
}
for (int x = 0; x < OriginalImage.Width; x++)
{
for (int y = 0; y < OriginalImage.Height; y++)
{
Color pixel = OriginalImage.GetPixel(x, y);
int red = pixel.R;
int green = pixel.G;
int blue = pixel.B;
Color newColor;
switch (color)
{
case "Magenta":
newColor = Color.FromArgb(255, red, 0, blue);
break;
case "Yellow":
newColor = Color.FromArgb(255, red, green, 0);
break;
case "Cyan":
newColor = Color.FromArgb(255, 0, green, blue);
break;
case "Magenta-Yellow":
newColor = Color.FromArgb(255, red, 0, 0);
break;
case "Yellow-Cyan":
newColor = Color.FromArgb(255, 0, green, 0);
break;
case "Cyan-Magenta":
newColor = Color.FromArgb(255, 0, 0, blue);
break;
default:
newColor = Color.FromArgb(255, red, green, blue);
break;
}
OutputImage.SetPixel(x, y, newColor);
}
}
return OutputImage;
}