Introduction
The SCapture
class allows an application to capture a still screen image. It also provides a functionality to include the cursor in the image.
Class Shared Methods
FullScreen
- Captures the full screen (all monitors in a single image)
DisplayMonitor
- Captures a display monitor
ActiveWindow
- Captures the active window
Window
- Captures a window specified by the handle (overloaded)
Control
- Captures a control of a window specified by a handle or a point (overloaded)
ScreenRectangle
- Captures a rectangle image from the screen
Background
The class differs from some other similar articles that provide classes to capture an image from the screen by giving the application ability to capture transparent Windows images. The core of the class is based on some API methods.
Using the Code
A small example to capture a button control image from a form by using a point on the button.
Private Sub ControlButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ControlButton.Click
Try
Dim img As Image = SCapture.Control(Control.MousePosition, True)
img.Save(filePath, Drawing.Imaging.ImageFormat.Png)
Me.DisplayPictureBox.Image = img
Catch ex As Exception
MessageBox.Show("Failed to capture the control!" _
& Environment.NewLine & ex.Message, "Capture Error!", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
History
- Originally posted on 07/21/08
- Updated on 08/05/08
- Added an overloadable Window method that takes a point as one of its arguments and returns the
bitmap
of a window at the point
- Changed all capture methods return types from
Image
to Bitmap