private byte[] applyTransform(TColor[,] _procColor, int[,] _procDouble) { int calcvalR = 0; int calcvalG = 0; int calcvalB = 0; for (int a = 0; a < 3; a++) { for (int b = 0; b < 3; b++) { calcvalR += _procColor[a, b].r * _procDouble[a, b]; calcvalG += _procColor[a, b].g * _procDouble[a, b]; calcvalB += _procColor[a, b].b * _procDouble[a, b]; } } calcvalR = calcvalR / 3; calcvalG = calcvalG / 3; calcvalB = calcvalB / 3; if (calcvalR < 0) calcvalR = 0; else if (calcvalR > 255) calcvalR = 255; if (calcvalG < 0) calcvalG = 0; else if (calcvalG > 255) calcvalG = 255; if (calcvalB < 0) calcvalB = 0; else if (calcvalB > 255) calcvalB = 255; byte[] retval = new byte[3]; retval[0] = (byte)calcvalR; retval[1] = (byte)calcvalG; retval[2] = (byte)calcvalB; return retval; }
private TColor GetAPixel(int _x, int _y) { int anIndex = (_y * 640 + _x) * 4; TColor retval = new TColor(); retval.r = myCacheArray[anIndex + 2]; //r retval.g = myCacheArray[anIndex + 1]; retval.b = myCacheArray[anIndex]; return retval; }