PNGMask.PNG.WriteToStream C# (CSharp) Method

WriteToStream() public method

public WriteToStream ( Stream s, bool standardonly = false, bool critonly = false ) : void
s Stream
standardonly bool
critonly bool
return void
        public void WriteToStream(Stream s, bool standardonly = false, bool critonly = false)
        {
            s.Write(MAGIC_NUMBER, 0, MAGIC_NUMBER.Length);

            PNGChunk? eof = null;
            foreach (PNGChunk chunk in Chunks)
            {
                if ((critonly && !chunk.Critical) || (standardonly && !chunk.Standard)) continue;

                if (chunk.Name == "_EOF")
                {
                    eof = chunk;
                    continue;
                }

                byte[] length = BitConverter.GetBytes(chunk.Data.Length);
                SwapEndianness(ref length);
                WriteData(s, length);

                WriteData(s, Encoding.ASCII.GetBytes(chunk.Name));
                WriteData(s, chunk.Data);

                byte[] crc = BitConverter.GetBytes(chunk.CRC);
                SwapEndianness(ref crc);
                WriteData(s, crc);
            }

            if (eof.HasValue && eof != null)
                WriteData(s, eof.Value.Data);
        }

Usage Example

Exemplo n.º 1
0
 public SteganographyProvider(PNG pngvector, bool find = true)
 {
     byte[] data;
     using (MemoryStream ms = new MemoryStream())
     {
         pngvector.WriteToStream(ms);
         data = ms.ToArray();
     }
     ProcessData(data, find);
 }
All Usage Examples Of PNGMask.PNG::WriteToStream