示例#1
0
        internal void ReadChromaticityTagDataEntry(byte[] data, IccChromaticityTagDataEntry expected)
        {
            IccDataReader reader = CreateReader(data);

            IccChromaticityTagDataEntry output = reader.ReadChromaticityTagDataEntry();

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

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

            Assert.Equal(expected, output);
        }
        /// <summary>
        /// Writes a <see cref="IccChromaticityTagDataEntry"/>
        /// </summary>
        /// <param name="value">The entry to write</param>
        /// <returns>The number of bytes written</returns>
        public int WriteChromaticityTagDataEntry(IccChromaticityTagDataEntry value)
        {
            int count = this.WriteUInt16((ushort)value.ChannelCount);

            count += this.WriteUInt16((ushort)value.ColorantType);

            for (int i = 0; i < value.ChannelCount; i++)
            {
                count += this.WriteUFix16(value.ChannelValues[i][0]);
                count += this.WriteUFix16(value.ChannelValues[i][1]);
            }

            return(count);
        }