Exemple #1
0
        public void GetMetadataInfoFromNearLosslessEncodedColorImage()
        {
            var source   = ReadAllBytes("T8C0E3.JLS");
            var info     = JpegLSCodec.GetMetadataInfo(source);
            var expected = new JpegLSMetadataInfo {
                Height = 256, Width = 256, BitsPerComponent = 8, ComponentCount = 3, AllowedLossyError = 3
            };

            Assert.AreEqual(expected, info);
        }
Exemple #2
0
        public void Decompress()
        {
            var source       = ReadAllBytes("T8C0E0.JLS");
            var expected     = ReadAllBytes("TEST8.PPM", 15);
            var uncompressed = JpegLSCodec.Decompress(source);

            var info = JpegLSCodec.GetMetadataInfo(source);

            if (info.InterleaveMode == JpegLSInterleaveMode.None && info.ComponentCount == 3)
            {
                expected = TripletToPlanar(expected, info.Width, info.Height);
            }

            Assert.AreEqual(expected, uncompressed);
        }
Exemple #3
0
        public void Compress()
        {
            var info = new JpegLSMetadataInfo(256, 256, 8, 3);

            var uncompressedOriginal = ReadAllBytes("TEST8.PPM", 15);

            uncompressedOriginal = TripletToPlanar(uncompressedOriginal, info.Width, info.Height);

            var compressedSegment = JpegLSCodec.Compress(info, uncompressedOriginal);
            var compressed        = new byte[compressedSegment.Count];

            Array.Copy(compressedSegment.Array, compressed, compressed.Length);

            var compressedInfo = JpegLSCodec.GetMetadataInfo(compressed);

            Assert.AreEqual(info, compressedInfo);

            var uncompressed = JpegLSCodec.Decompress(compressed);

            Assert.AreEqual(info.UncompressedSize, uncompressed.Length);
            Assert.AreEqual(uncompressedOriginal, uncompressed);
        }