Calculate() public static method

public static Calculate ( byte what ) : uint
what byte
return uint
Ejemplo n.º 1
0
        /// <summary>
        ///     Modify the ChunkData part.
        /// </summary>
        public void ModifyChunkData(int position, byte[] newData)
        {
            Array.Copy(newData, 0, ChunkData, position, newData.Length);

            using (var msCrc = new MemoryStream())
            {
                msCrc.WriteBytes(Encoding.ASCII.GetBytes(ChunkType));
                msCrc.WriteBytes(ChunkData);

                Crc = CrcHelper.Calculate(msCrc.ToArray());
            }
        }
Ejemplo n.º 2
0
        public IDATChunk ToIDATChunk()
        {
            uint newCrc;

            using (var msCrc = new MemoryStream())
            {
                msCrc.WriteBytes(new[] { (byte)'I', (byte)'D', (byte)'A', (byte)'T' });
                msCrc.WriteBytes(FrameData);

                newCrc = CrcHelper.Calculate(msCrc.ToArray());
            }

            using (var ms = new MemoryStream())
            {
                ms.WriteUInt32(Helper.ConvertEndian(Length - 4));
                ms.WriteBytes(new[] { (byte)'I', (byte)'D', (byte)'A', (byte)'T' });
                ms.WriteBytes(FrameData);
                ms.WriteUInt32(Helper.ConvertEndian(newCrc));
                ms.Position = 0;

                return(new IDATChunk(ms));
            }
        }