示例#1
0
        internal void WriteClut8(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, byte[] gridPointCount)
        {
            IccDataWriter writer = this.CreateWriter();

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

            Assert.Equal(expected, output);
        }
        internal void WriteClutAll(byte[] expected, IccClut data, int inChannelCount, int outChannelCount, bool isFloat)
        {
            using IccDataWriter writer = CreateWriter();

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

            Assert.Equal(expected, output);
        }
示例#3
0
        /// <summary>
        /// Writes a 16bit color lookup table
        /// </summary>
        /// <param name="value">The CLUT to write</param>
        /// <returns>The number of bytes written</returns>
        public int WriteClut16(IccClut value)
        {
            int count = 0;

            foreach (float[] inArray in value.Values)
            {
                foreach (float item in inArray)
                {
                    count += this.WriteUInt16((ushort)Numerics.Clamp((item * ushort.MaxValue) + 0.5F, 0, ushort.MaxValue));
                }
            }

            return(count);
        }
示例#4
0
        /// <summary>
        /// Writes a 8bit color lookup table
        /// </summary>
        /// <param name="value">The CLUT to write</param>
        /// <returns>The number of bytes written</returns>
        public int WriteClut8(IccClut value)
        {
            int count = 0;

            foreach (float[] inArray in value.Values)
            {
                foreach (float item in inArray)
                {
                    count += this.WriteByte((byte)Numerics.Clamp((item * byte.MaxValue) + 0.5F, 0, byte.MaxValue));
                }
            }

            return(count);
        }
示例#5
0
        /// <summary>
        /// Writes a 32bit float color lookup table
        /// </summary>
        /// <param name="value">The CLUT to write</param>
        /// <returns>The number of bytes written</returns>
        public int WriteClutF32(IccClut value)
        {
            int count = 0;

            foreach (float[] inArray in value.Values)
            {
                foreach (float item in inArray)
                {
                    count += this.WriteSingle(item);
                }
            }

            return(count);
        }