public void UpdateColorMap(ColorMapEntries map) { if (map == null) { throw new ArgumentNullException(nameof(map)); } for (int i = 0; i < map.Map.GetLength(0); i++) { ColorMap[map.FirstColour + i, 0] = map.Map[i, 0]; ColorMap[map.FirstColour + i, 1] = map.Map[i, 1]; ColorMap[map.FirstColour + i, 2] = map.Map[i, 2]; } }
public ColorMapEntries ReadColorMapEntries() { ReadByte(); var m = new ColorMapEntries(); m.FirstColour = ReadUInt16(); var n = ReadUInt16(); m.Map = new ushort[n, 3]; for (int i = 0; i < n; i++) { m.Map[i, 0] = (byte)(ReadUInt16() * byte.MaxValue / ushort.MaxValue); // R m.Map[i, 1] = (byte)(ReadUInt16() * byte.MaxValue / ushort.MaxValue); // G m.Map[i, 2] = (byte)(ReadUInt16() * byte.MaxValue / ushort.MaxValue); // B } return(m); }