Example #1
0
        public void WriteSegment_SegmentWithData()
        {
            var output = new MemoryStream();
            var writer = new JpegSegmentWriter(new BinaryWriter(output));

            var segment = new JpegSegment(JpegSegmentType.App1, new byte[] { 0x12, 0x34, 0x56 }, 0);

            writer.WriteSegment(segment);

            var result = output.ToArray();

            CollectionAssert.AreEqual(
                new byte[] { 0xFF, 0xE1, 0x00, 0x05, 0x12, 0x34, 0x56 },
                result);
        }
Example #2
0
        public void WriteSegment_SegmentWithoutData()
        {
            var output = new MemoryStream();
            var writer = new JpegSegmentWriter(new BinaryWriter(output));

            var segment = new JpegSegment(JpegSegmentType.Soi, new byte[0], 0);

            writer.WriteSegment(segment);

            var result = output.ToArray();

            CollectionAssert.AreEqual(
                new byte[] { 0xFF, 0xD8 },
                result);
        }
Example #3
0
        public void Finish_CopyDataIn2Blocks()
        {
            var output = new MemoryStream();
            var writer = new JpegSegmentWriter(new BinaryWriter(output), 3);

            var data = new MemoryStream(new byte[]
            {
                0x12, 0x34, 0x56, 0x78,
            });

            writer.Finish(data);

            var result = output.ToArray();

            CollectionAssert.AreEqual(
                new byte[] {
                0xFF, 0xDA,     // start of scan
                0x12, 0x34, 0x56, 0x78,
            },
                result);
        }