Ejemplo n.º 1
0
        public DecompressedDesktop GetDecompressedDifferenceDesktop(CompressedDesktop PresenterDesktop)
        {
            // New decompressed desktop
            DecompressedDesktop Desktop = new DecompressedDesktop();

            // ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
            // Start Watch
            StartWatch();
            // Unpack compressed desktop
            DecompressedDesktop _Desktop = Decompressor.DecompressDesktop(PresenterDesktop);

            // Calc decompression time
            Desktop.UnpackingTime.CompressionTime = StopWatch();
            // Assign decompressed image
            Desktop.Image = _Desktop.Image;
            // Assign decompressed sizes
            Desktop.DecompressionSizes = _Desktop.DecompressionSizes;
            // ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
            // Start Watch
            StartWatch();
            // Xor the difference image with the reference image, and assign the result to desktop.image
            Desktop.Image = Xor.XORing(new Bitmap(Desktop.Image));
            // Calc Xoring time
            Desktop.UnpackingTime.XoringTime = StopWatch();
            // ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
            // Keep instance of reference image in XOR object to compare it later with new difference
            Xor.SetRefImage(new Bitmap(Desktop.Image));
            // return ready to use desktop image, with cursor included!
            return(Desktop);
        }
Ejemplo n.º 2
0
        public DecompressedDesktop GetDecompressedReferenceDesktop(CompressedDesktop PresenterDesktop)
        {
            // New decompressed desktop
            DecompressedDesktop Desktop = new DecompressedDesktop();

            // New XOR object
            Xor = new XOR();
            // ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
            // Start Watch
            StartWatch();
            // Unpack compressed desktop
            DecompressedDesktop _Desktop = Decompressor.DecompressDesktop(PresenterDesktop);

            // Calc decompression time
            Desktop.UnpackingTime.CompressionTime = StopWatch();
            // Assign decompressed image
            Desktop.Image = _Desktop.Image;
            // Assign decompressed sizes
            Desktop.DecompressionSizes = _Desktop.DecompressionSizes;
            // ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
            // Save the ref image in the XOR object
            Xor.SetRefImage(new Bitmap(Desktop.Image));
            // return ready to use desktop image, with cursor included!
            return(Desktop);
        }
        public DecompressedDesktop DecompressDesktop(CompressedDesktop CDesktop)
        {
            // New instance of decompressed image structure
            DecompressedDesktop DDesktop = new DecompressedDesktop();

            // Store the size of image before decompression
            DDesktop.DecompressionSizes.SizeBefore = CDesktop.ImageBytes.LongLength;
            // Decompressing the image
            byte[] DecompressedImageBytes = AcedInflator.Instance.Decompress(CDesktop.ImageBytes, 0, 0, 0);
            // Store the size of image after decompression
            DDesktop.DecompressionSizes.SizeAfter = DecompressedImageBytes.LongLength;
            // Set image object
            DDesktop.Image = new Bitmap(ImageConverter.ByteArrayToImage(DecompressedImageBytes));
            // Return decompressed image
            return(DDesktop);
        }