Beispiel #1
0
        private ZLibStream()
        {
            _compressionMode  = CompressionMode.Compress;
            _compressionLevel = ZLibCompressionLevel.Faster;
            _isLeaveOpen      = false;
            _adler32          = new Adler32();

            _isClosed = false;
            _crc      = null;
        }
Beispiel #2
0
        /// <summary>
        /// Inicializa una nueva instancia de la clase ZLibStream usando la secuencia y nivel de compresión especificados y, opcionalmente, deja la secuencia abierta.
        /// </summary>
        /// <param name="stream">Secuencia que se va a comprimir</param>
        /// <param name="compressionLevel">Nivel de compresión</param>
        /// <param name="leaveOpen">Indica si se debe de dejar la secuencia abierta después de comprimir la secuencia</param>
        public ZLibStream(Stream stream, ZLibCompressionLevel compressionLevel, bool leaveOpen)
            : this()
        {
            _compressionMode  = CompressionMode.Compress;
            _compressionLevel = compressionLevel;
            _isLeaveOpen      = leaveOpen;
            _rawStream        = stream;

            this.InitializeStream();
        }
Beispiel #3
0
        /// <summary>
        /// Inicializa una nueva instancia de la clase ZLibStream usando la secuencia y modo de compresión especificados y, opcionalmente, deja la secuencia abierta.
        /// </summary>
        /// <param name="stream">Secuencia que se va a comprimir o descomprimir</param>
        /// <param name="compressionMode">Modo de compresión</param>
        /// <param name="leaveOpen">Indica si se debe de dejar la secuencia abierta después de comprimir o descomprimir la secuencia</param>
        public ZLibStream(Stream stream, CompressionMode compressionMode, bool leaveOpen)
            : this()
        {
            _compressionMode  = compressionMode;
            _compressionLevel = ZLibCompressionLevel.Default;
            _isLeaveOpen      = leaveOpen;
            _rawStream        = stream;

            this.InitializeStream();
        }
Beispiel #4
0
        public static byte[] Compress(byte[] input, ZLibCompressionLevel level, bool headerAndFooter = true)
        {
            Contract.Requires(input != null);
            Contract.Ensures(Contract.Result <byte[]>() != null);

            var deflater = new Deflater((int)level, !headerAndFooter);
            var length   = input.Length;
            var output   = new byte[length];

            deflater.SetInput(input, 0, length);
            var compressedLength = deflater.Deflate(output);

            var realOutput = new byte[compressedLength];

            Buffer.BlockCopy(output, 0, realOutput, 0, compressedLength);
            return(realOutput);
        }
Beispiel #5
0
 public static ZLibError compress2(byte[] dest, ref int destLength,
                                   byte[] source, int sourceLength,
                                   ZLibCompressionLevel level)
 {
     if (unix)
     {
         long      dl2 = destLength;
         ZLibError ret = ZLibUnix.compress2(dest, ref dl2,
                                            source, sourceLength, level);
         destLength = (int)dl2;
         return(ret);
     }
     else
     {
         return(ZLibWin32.compress2(dest, ref destLength,
                                    source, sourceLength, level));
     }
 }
Beispiel #6
0
 public static ZLibError compress2( byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibCompressionLevel level )
 {
     if ( Environment.Unix )
     {
         long dl2 = destLength;
         ZLibError ret = ZLibUnix.compress2( dest, ref dl2, source, sourceLength, level );
         destLength = (int) dl2;
         return ret;
     }
     else if ( Environment.Is64Bit )
     {
         return ZLibWin64.compress2( dest, ref destLength, source, sourceLength, level );
     }
     else
     {
         return ZLibWin32.compress2( dest, ref destLength, source, sourceLength, level );
     }
 }
Beispiel #7
0
 internal static extern ZLibError compress2(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibCompressionLevel level);
Beispiel #8
0
		public static extern ZLibError compress2( byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibCompressionLevel level );
Beispiel #9
0
 public static extern ZLibError compress2(byte[] dest, ref long destLength,
                                          byte[] source, long sourceLength,
                                          ZLibCompressionLevel level);
Beispiel #10
0
 /// <summary>
 /// Inicializa una nueva instancia de la clase ZLibStream usando la secuencia y nivel de compresión especificados.
 /// </summary>
 /// <param name="stream">Secuencia que se va a comprimir</param>
 /// <param name="compressionLevel">Nivel de compresión</param>
 public ZLibStream(Stream stream, ZLibCompressionLevel compressionLevel)
     : this(stream, compressionLevel, false)
 {
 }
Beispiel #11
0
			public static extern ZLibError compress2(IntPtr dest, ref int destLength, IntPtr source, int sourceLength,
			                                         ZLibCompressionLevel level);
Beispiel #12
0
 public static extern ZLibError compress2(IntPtr dest, ref int destLength, IntPtr source, int sourceLength,
                                          ZLibCompressionLevel level);