private void ButtonSendScreenshot_Click(object sender, RoutedEventArgs e) { using (var screenshot = Screenshot.CaptureFullscreen()) using (var surface = new RectangleRegion()) { surface.SurfaceImage = screenshot; surface.Prepare(); surface.ShowDialog(); using (var img = surface.GetRegionImage()) { if (img == null) { return; } var stream = new MemoryStream(); img.Save(stream, ImageFormat.Png); var transfer = ProfileManager.Instance.TransferManager.SendFile(Context.Friend.ChatNumber, stream, "screenshot.png"); if (transfer == null) { MessageBox.Show("Could not send screenshot.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } (Context.Friend.ConversationView as ConversationViewModel).AddTransfer(transfer); } } }
private void fullScreenshotToolStripMenuItem_Click(object sender, EventArgs e) { Image img = m_ScreenshotSettings.CaptureFullscreen(); if (img != null) { ScreenshotDone(img); } }
/// <summary> /// 获取全屏截图 /// </summary> /// <returns></returns> public static Image GetFullScreen() { Screenshot screenshot = new Screenshot() { CaptureCursor = false, CaptureClientArea = false, RemoveOutsideScreenArea = true, CaptureShadow = false, ShadowOffset = 0, AutoHideTaskbar = true }; Image img = screenshot.CaptureFullscreen(); return(img); }
private void CaptureRegion(Surface surface, bool autoHideForm = true) { Capture(() => { Image img = null; Image screenshot = Screenshot.CaptureFullscreen(); surface.Config = Program.Settings.SurfaceOptions; surface.SurfaceImage = screenshot; surface.Prepare(); if (surface.ShowDialog() == DialogResult.OK) { img = surface.GetRegionImage(); } surface.Dispose(); return(img); }, autoHideForm); }
private void GlobalHotkeyServiceOnHotkeyPress(Hotkey hotkey) { try { if (_currentlyRunningGame == null && _settings.OnlyGameScreenshots) { return; } Bitmap bitmap; string region; if (hotkey == _settings.CaptureFullscreenHotkey) { bitmap = Screenshot.CaptureFullscreen(); region = "fullscreen"; } else if (hotkey == _settings.CaptureActiveMonitorHotkey) { bitmap = Screenshot.CaptureActiveMonitor(); region = "active monitor"; } else if (hotkey == _settings.CaptureActiveWindowHotkey) { bitmap = Screenshot.CaptureActiveWindow(); region = "active window"; } else { _logger.Error($"Unknown hotkey: {hotkey.DebugString()}"); return; } if (bitmap == null) { _logger.Error($"Unable to capture {region} with hotkey {hotkey.DebugString()}"); return; } var fileName = DateTime.Now.ToString("yyyy-MM-ddThh-mm-ss"); var folder = _currentlyRunningGame == null ? _settings.ScreenshotsPath : Path.Combine(_settings.ScreenshotsPath, _currentlyRunningGame.GameId); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } var path = Path.Combine(folder, fileName + ".png"); bitmap.Save(path, ImageFormat.Png); //bitmap.Dispose(); _playniteAPI.Notifications.Add(new NotificationMessage(fileName, $"Saved new screenshot to {path}", NotificationType.Info, () => { try { Process.Start(path); } catch (Exception inner) { _logger.Error(inner, $"Exception while opening {path}"); } })); } catch (Exception e) { _logger.Error(e, $"Exception while handling hotkey {hotkey.DebugString()}\n"); } }