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

            IccNamedColor2TagDataEntry output = reader.ReadNamedColor2TagDataEntry();

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

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

            Assert.Equal(expected, output);
        }
        /// <summary>
        /// Writes a <see cref="IccNamedColor2TagDataEntry"/>
        /// </summary>
        /// <param name="value">The entry to write</param>
        /// <returns>The number of bytes written</returns>
        public int WriteNamedColor2TagDataEntry(IccNamedColor2TagDataEntry value)
        {
            int count = this.WriteInt32(value.VendorFlags)
                        + this.WriteUInt32((uint)value.Colors.Length)
                        + this.WriteUInt32((uint)value.CoordinateCount)
                        + this.WriteAsciiString(value.Prefix, 32, true)
                        + this.WriteAsciiString(value.Suffix, 32, true);

            foreach (IccNamedColor color in value.Colors)
            {
                count += this.WriteNamedColor(color);
            }

            return(count);
        }