private ZLibStream() { _compressionMode = CompressionMode.Compress; _compressionLevel = ZLibCompressionLevel.Faster; _isLeaveOpen = false; _adler32 = new Adler32(); _isClosed = false; _crc = null; }
/// <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(); }
/// <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(); }
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); }
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)); } }
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 ); } }
internal static extern ZLibError compress2(byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibCompressionLevel level);
public static extern ZLibError compress2( byte[] dest, ref int destLength, byte[] source, int sourceLength, ZLibCompressionLevel level );
public static extern ZLibError compress2(byte[] dest, ref long destLength, byte[] source, long sourceLength, ZLibCompressionLevel level);
/// <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) { }
public static extern ZLibError compress2(IntPtr dest, ref int destLength, IntPtr source, int sourceLength, ZLibCompressionLevel level);