Пример #1
0
        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];
            }
        }
Пример #2
0
        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);
        }