public static Color[] GetColours(double[] intensities, Colourmap colorMap) { Color[] colors = new Color[intensities.Length]; for (int i = 0; i < intensities.Length; i++) { byte pixelIntensity = (byte)Math.Max(Math.Min(intensities[i] * 255, 255), 0); var(r, g, b) = colorMap.GetRGB(pixelIntensity); colors[i] = Color.FromArgb(255, r, g, b); } return(colors); }
public static int[] GetRGBAs(double[] intensities, Colourmap colorMap, double minimumIntensity = 0) { int[] rgbas = new int[intensities.Length]; for (int i = 0; i < intensities.Length; i++) { byte pixelIntensity = (byte)Math.Max(Math.Min(intensities[i] * 255, 255), 0); var(r, g, b) = colorMap.GetRGB(pixelIntensity); byte alpha = pixelIntensity < minimumIntensity ? (byte)0 : (byte)255; byte[] argb = { b, g, r, alpha }; rgbas[i] = BitConverter.ToInt32(argb, 0); } return(rgbas); }