Sto provando a eseguire codice leggermente modificato da un articolo MSDN come parte di un progetto scolastico. L'obiettivo è usare una colormatrice per ricolorare una bitmap in una finestra di immagine. Qui è il mio codice:C# ColorMatrix Index fuori limite
float[][] colorMatrixElements = {
new float[] {rScale, 0, 0, 0},
new float[] {0, gScale, 0, 0},
new float[] {0, 0, bScale, 0},
new float[] {0, 0, 0, 1}};
ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);
dove Scala R, gScale e bScale sono carri con valori da 0.0f a 1. L'articolo originale di MSDN è qui: https://msdn.microsoft.com/en-us/library/6tf7sa87%28v=vs.110%29.aspx
Quando si arriva fino all'ultima riga, "ColorMatrix colorMatrix = new ..." il mio codice raggiunge un errore di runtime. Nel debugger, ottengo colorMatrixElements come float [4] []. Come se non fosse un array 4x4. Ho sbagliato qualcosa nel mio lavoro di copia-incolla o sto semplicemente non capendo come C# gestisce gli array 2D?
Grazie per l'aiuto.
che ha funzionato bene. Ci vorrà un po 'di manomissione nello schema più ampio del mio progetto per fare ciò che devo fare, ma ora compila. Grazie per la risposta! – Micah