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); }
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); }