public void CaptureFieldImage_Click(object Sender, EventArgs evt) { Bitmap printscreen = new Bitmap(System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width, System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); Graphics graphics = Graphics.FromImage(printscreen); graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size); SnippingTool.ImageBMP = printscreen; using (MemoryStream s = new MemoryStream()) { //save graphic variable into memory printscreen.Save(s, ImageFormat.Bmp); SnippingTool sn = new SnippingTool(System.Drawing.Image.FromStream(s), 0, 0, printscreen.Size.Width, printscreen.Size.Height); //set the picture box with temporary stream SnippingTool.UniqueId = lblUniqueControlld.Content.ToString(); SnippingTool.Snip(); } }
public static void Snip() { var screens = ScreenHelper.GetMonitorsInfo(); _forms = new SnippingTool[screens.Count]; for (int i = 0; i < screens.Count; i++) { int hRes = screens[i].HorizontalResolution; int vRes = screens[i].VerticalResolution; int top = screens[i].MonitorArea.Top; int left = screens[i].MonitorArea.Left; var bmp = new Bitmap(hRes, vRes, PixelFormat.Format32bppPArgb); using (var g = Graphics.FromImage(bmp)) { g.CopyFromScreen(left, top, 0, 0, bmp.Size); } _forms[i] = new SnippingTool(bmp, left, top, hRes, vRes); _forms[i].Show(); } }