Exemple #1
0
        internal void ReadLut8TagDataEntry(byte[] data, IccLut8TagDataEntry expected)
        {
            IccDataReader reader = CreateReader(data);

            IccLut8TagDataEntry output = reader.ReadLut8TagDataEntry();

            Assert.Equal(expected, output);
        }
        internal void WriteLut8TagDataEntry(byte[] expected, IccLut8TagDataEntry data)
        {
            IccDataWriter writer = CreateWriter();

            writer.WriteLut8TagDataEntry(data);
            byte[] output = writer.GetData();

            Assert.Equal(expected, output);
        }
        /// <summary>
        /// Writes a <see cref="IccLut8TagDataEntry"/>
        /// </summary>
        /// <param name="value">The entry to write</param>
        /// <returns>The number of bytes written</returns>
        public int WriteLut8TagDataEntry(IccLut8TagDataEntry value)
        {
            int count = this.WriteByte((byte)value.InputChannelCount);

            count += this.WriteByte((byte)value.OutputChannelCount);
            count += this.WriteByte((byte)value.ClutValues.Values[0].Length);
            count += this.WriteEmpty(1);

            count += this.WriteMatrix(value.Matrix, false);

            foreach (IccLut lut in value.InputValues)
            {
                count += this.WriteLut8(lut);
            }

            count += this.WriteClut8(value.ClutValues);

            foreach (IccLut lut in value.OutputValues)
            {
                count += this.WriteLut8(lut);
            }

            return(count);
        }