public void Copy(FloatImage a, float min, float max) { float *pa = a.Data(0, 0); byte * p = data; float s = 255.0f / (max - min); for (int i = 0; i < width * height; i++) { int value = (int)(s * (*pa++ - min)); if (value < 0) { *p++ = 0; } else if (value > 255) { *p++ = (byte)255; } else { *p++ = (byte)value; } } }