Esempio n. 1
0
        private static void Decode(string input, string output)
        {
            var signedImage = new Bitmap(Image.FromFile(input));
            var codec       = new LangelaarCodec(signedImage, new Size(8, 8), 10);

            var buffers = new List <byte[]>();

            for (var i = 0; i < 8; i++)
            {
                var b = new byte[2000];
                codec.Read(b, 0, b.Length);
                buffers.Add(b);
            }

            var buffer = BitHelper.Merge(buffers);

            Bitmap oldHash;

            using (var ms = new MemoryStream(buffer))
            {
                oldHash = new Bitmap(Image.FromStream(ms));
            }

            var newHash = ImageHelper.Hash(signedImage, new Size(100, 100));

            var validated = ImageHelper.Validate(signedImage, oldHash, newHash);

            validated.SaveJpeg(output, 100);
        }
Esempio n. 2
0
        private static void Decode(string input, string output, Rectangle rect)
        {
            var encodedImage = new Bitmap(Image.FromFile(input));
            var codec        = new LangelaarCodec(encodedImage, new Size(8, 8), 10);

            var subImage = Image.FromStream(codec);

            using (var g = Graphics.FromImage(encodedImage))
            {
                g.DrawImage(subImage, rect);
            }

            encodedImage.SaveJpeg(output, 100);
        }
Esempio n. 3
0
        private static void Encode(string input, string output, Rectangle rect)
        {
            var originalImage = new Bitmap(Image.FromFile(input));
            var subImage      = originalImage.Clone(rect, originalImage.PixelFormat);

            using (var g = Graphics.FromImage(originalImage))
            {
                g.FillRectangle(new SolidBrush(Color.Black), rect);
            }

            var codec = new LangelaarCodec(originalImage, new Size(8, 8), 10);

            subImage.SaveJpeg(codec, 10);

            Console.WriteLine($"Used {codec.Position} of {codec.Length}");

            originalImage.SaveJpeg(output, 100);
        }
Esempio n. 4
0
        private static void Encode(string input, string output)
        {
            var originalImage = new Bitmap(Image.FromFile(input));
            var hash          = ImageHelper.Hash(originalImage, new Size(100, 100));

            var codec = new LangelaarCodec(originalImage, new Size(8, 8), 10);

            byte[] buffer;

            using (var ms = new MemoryStream())
            {
                ms.SetLength(2000);
                hash.Save(ms, ImageFormat.Png);
                buffer = ms.GetBuffer();
            }

            for (var i = 0; i < 8; i++)
            {
                codec.Write(buffer, 0, buffer.Length);
            }

            originalImage.SaveJpeg(output, 100);
        }