public async void OkBtn_Click(object sender, RoutedEventArgs e) { _InProgressClosing = true; chkBoxCreatePreview.IsEnabled = false; chkBoxCreateZip.IsEnabled = false; OkBtn.IsEnabled = false; GenerateLivelyInfo(layout); Rect reviewPanel; #region previewgif //preview clip (animated gif file). if (SaveData.config.PreviewGIF.CaptureGif) { //generate screen capture images. for (int i = 0; i < gifTotalFrames; i++) { reviewPanel = WindowOperations.GetAbsolutePlacement(PreviewBorder, true); CaptureWindow.CopyScreen(saveDirectory, i.ToString(CultureInfo.InvariantCulture) + ".jpg", (int)(((int)reviewPanel.Left + (int)(reviewPanel.Right)) / 2f) - 192 / 2, (int)(((int)reviewPanel.Top + (int)(reviewPanel.Bottom)) / 2f) - 108 / 2, 192, 108); //384,216 await Task.Delay(gifAnimationDelay); this.Dispatcher.Invoke(() => { if ((i + 1) > gifProgressBar.Maximum) { gifProgressBar.Value = gifProgressBar.Maximum; } else { gifProgressBar.Value = i + 1; } }); } //create animated gif from captured images. await Task.Run(() => CreateGif()); } else { await Task.Delay(1000); //wait 1sec before capturing thumbnail..incase wallpaper is not loaded yet. } #endregion #region thumbnail // 200x200 thumbnail image capture. reviewPanel = WindowOperations.GetAbsolutePlacement(PreviewBorder, true); CaptureWindow.CopyScreen(saveDirectory, "lively_t.jpg", (int)(((int)reviewPanel.Left + (int)(reviewPanel.Right)) / 2f) - 200 / 2, (int)(((int)reviewPanel.Top + (int)(reviewPanel.Bottom)) / 2f) - 200 / 2, 200, 200); #endregion _InProgressClosing = false; this.Close(); }
public async void OkBtn_Click(object sender, RoutedEventArgs e) { _InProgressClosing = true; chkBoxCreatePreview.IsEnabled = false; chkBoxCreateZip.IsEnabled = false; OkBtn.IsEnabled = false; GenerateLivelyInfo(layout); Rect previewPanelPos; Size previewPanelSize = WindowOperations.GetElementPixelSize(PreviewBorder); #region preview_images //preview clip (animated gif file). if (SaveData.config.PreviewGIF.CaptureGif) { //generate screen capture images. for (int i = 0; i < gifTotalFrames; i++) { //updating the position incase window is moved. previewPanelPos = WindowOperations.GetAbsolutePlacement(PreviewBorder, true); CaptureWindow.CopyScreen( saveDirectory, i.ToString(CultureInfo.InvariantCulture) + ".jpg", (int)previewPanelPos.Left, (int)previewPanelPos.Top, (int)previewPanelSize.Width, (int)previewPanelSize.Height); //SaveData.config.PreviewGIF.GifSize.Width + SaveData.config.PreviewGIF.GifOffsets.X, //SaveData.config.PreviewGIF.GifSize.Height + SaveData.config.PreviewGIF.GifOffsets.Y); //384,216 await Task.Delay(gifAnimationDelay); if ((i + 1) > gifProgressBar.Maximum) { gifProgressBar.Value = gifProgressBar.Maximum; } else { gifProgressBar.Value = i + 1; } } //create animated gif from captured images. await Task.Run(() => CreateGif()); } else { //wait before capturing thumbnail..incase wallpaper is not loaded yet. await Task.Delay(100); } //200x200 thumbnail image capture. //updating the position incase window is moved. previewPanelPos = WindowOperations.GetAbsolutePlacement(PreviewBorder, true); CaptureWindow.CopyScreen( saveDirectory, "lively_t.jpg", (int)previewPanelPos.Left + (int)previewPanelSize.Width / 5, (int)previewPanelPos.Top, (int)previewPanelSize.Height, (int)previewPanelSize.Height); #endregion _InProgressClosing = false; System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { App.W.LoadWallpaperFromWpDataFolder(); })); this.Close(); }