private Bitmap GetCompositeImage(long currentTime) { Bitmap composite; GotoTime(leftPlayer, currentTime); GotoTime(rightPlayer, currentTime); Bitmap img1 = leftPlayer.GetFlushedImage(); if (!merging) { Bitmap img2 = rightPlayer.GetFlushedImage(); composite = ImageHelper.GetSideBySideComposite(img1, img2, true, true); img2.Dispose(); } else { int height = img1.Height; if (img1.Height % 2 != 0) { height++; } composite = new Bitmap(img1.Width, height, img1.PixelFormat); Graphics g = Graphics.FromImage(composite); g.DrawImage(img1, Point.Empty); } img1.Dispose(); return(composite); }
public static void Save(PlayerScreen leftPlayer, PlayerScreen rightPlayer, bool merging) { string filename = GetFilename(leftPlayer, rightPlayer); if (string.IsNullOrEmpty(filename)) { return; } Bitmap composite; Bitmap leftImage = leftPlayer.GetFlushedImage(); if (!merging) { Bitmap rightImage = rightPlayer.GetFlushedImage(); composite = ImageHelper.GetSideBySideComposite(leftImage, rightImage, false, true); rightImage.Dispose(); } else { composite = leftImage; } ImageHelper.Save(filename, composite); composite.Dispose(); NotificationCenter.RaiseRefreshFileExplorer(null, false); }