private void captureScreen_Click(object sender, EventArgs e) { //* Test capture methods string timestamp = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"); ScreenCapturer.CaptureWholeScreen( Path.Combine(Settings.Default.TempDirectory, "wholescreen-" + timestamp + ".jpg")); ScreenCapturer.CaptureCurrentWindow( Path.Combine(Settings.Default.TempDirectory, "currentwindow-" + timestamp + ".jpg")); }
/// <summary>Capture the current (topmost) window to the given file. /// </summary> public static void CaptureCurrentWindow(string filename) { using (Bitmap bitmap = ScreenCapturer.CaptureCurrentWindow()) { try { bitmap.Save(filename, ImageFormat.Png); } catch (Exception) { //* Eat it } } }
protected override void OnMouseUp(MouseEventArgs e) { //* Testing Hide(); _mousedown = false; Invalidate(); //this.Opacity = 0; //DateTime now = DateTime.Now; //string timestamp = now.ToString("yyyy-MM-dd-HH-mm-ss"); if (_upperleft != e.Location) { int x = _upperleft.X < _lowerright.X ? _upperleft.X : _lowerright.X; int y = _upperleft.Y < _lowerright.Y ? _upperleft.Y : _lowerright.Y; int width = Math.Abs(_upperleft.X - _lowerright.X); int height = Math.Abs(_upperleft.Y - _lowerright.Y); //* _upperleft.X = 0; _upperleft.Y = 0; _lowerright.X = 0; _lowerright.Y = 0; Close(); ScreenCapturer.CaptureRegion( //Path.Combine(Settings.Default.TempDirectory, "region-" + timestamp + ".jpg"), Utils.GetDefaultImageName(), x, y, width, height); } else { Rectangle rect = _windowRectangles.GetTopWindowRect(e.Location); //* _upperleft.X = 0; _upperleft.Y = 0; _lowerright.X = 0; _lowerright.Y = 0; Close(); ScreenCapturer.CaptureRegion( //Path.Combine(Settings.Default.TempDirectory, "region-" + timestamp + ".jpg"), Utils.GetDefaultImageName(), rect.X, rect.Y, rect.Width, rect.Height); } }
private void keyboard_ScreenPrintPress(object sender, PrtScnCatcher.ScreenPrintPressEventArgs e) { switch (e.Kind) { case PrtScnCatcher.ScreenPrintKind.Manual: ShowManualSelectionForm(); break; case PrtScnCatcher.ScreenPrintKind.FullAuto: ScreenCapturer.CaptureWholeScreen(Utils.GetDefaultImageName()); break; case PrtScnCatcher.ScreenPrintKind.TopWindowAuto: ScreenCapturer.CaptureCurrentWindow(Utils.GetDefaultImageName()); break; } }