Esempio n. 1
0
                    new byte[] { 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0xAA, 0xAA, 0xAA, 0xAA, 0x80, 0x00, 0x2A, 0x22, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA })] // Apple PackBits sample
        public async Task DecompressStreamAsync_DecompressData(byte[] compressedData, byte[] uncompressedData)
        {
            var stream = new StreamBuilder(ByteOrder.LittleEndian)
                         .WriteBytes(compressedData)
                         .ToStream();

            var data = await PackBitsDecompressor.DecompressStreamAsync(stream, compressedData.Length, uncompressedData.Length);

            Assert.Equal(uncompressedData, data);
        }
Esempio n. 2
0
        public static Task <byte[]> DecompressStreamAsync(Stream stream, TiffCompression compression, int compressedLength, int uncompressedLength)
        {
            switch (compression)
            {
            case TiffCompression.None:
                return(DecompressStreamAsync_None(stream, compressedLength));

            case TiffCompression.PackBits:
                return(PackBitsDecompressor.DecompressStreamAsync(stream, compressedLength, uncompressedLength));

            default:
                throw new NotSupportedException($"The compression format '{compression}' is not supported.");
            }
        }