Il più semplice sarebbe utilizzare ColorMatrix per l'elaborazione delle immagini, sarete anche in grado di elaborare al volo l'anteprima dell'effetto desiderato - questo è il numero di filtri colorati creati nelle applicazioni di modifica grafica. Here e here puoi trovare le introduzioni agli effetti cromatici usando Colormatrix in C#.Utilizzando ColorMatrix è possibile effettuare colorazione filtro come vuoi tu, così come seppia, bianco/nero, invertito, gamma, luminosità, contrasto, luminosità, livelli (da multi-pass), ecc
EDIT: Ecco esempio (aggiornamento - matrice colore fisso di spostare i valori più scuri in blu invece dei precedenti azzeramento diverso da parti blu - e - 0.5f aggiunto al blu perché sulla foto sopra nero è trasformata in 50% blu):
var cm = new ColorMatrix(new float[][]
{
new float[] {1, 0, 0, 0, 0},
new float[] {0, 1, 1, 0, 0},
new float[] {0, 0, 1, 0, 0},
new float[] {0, 0, 0, 1, 0},
new float[] {0, 0, 0.5f, 0, 1}
});
var img = Image.FromFile("C:\\img.png");
var ia = new ImageAttributes();
ia.SetColorMatrix(cm);
var bmp = new Bitmap(img.Width, img.Height);
var gfx = Graphics.FromImage(bmp);
var rect = new Rectangle(0, 0, img.Width, img.Height);
gfx.DrawImage(img, rect, 0, 0, img.Width, img.Height, GraphicsUnit.Pixel, ia);
bmp.Save("C:\\processed.png", ImageFormat.Png);
Perché perdo un upvote, o ottenere un downvote? lol ... – Vercas
Nessun downvotes. Presumo che qualcuno sia stato in grado di rimuovere il loro upvote quando hai modificato la domanda. In ogni caso, non è qualcosa che vale la pena di preoccuparsi a meno che qualcuno non lasci un commento con un suggerimento o una critica specifica. :-) –