private void LaunchSnipTool(object sender, System.EventArgs e) { this.ResizeMode = ResizeMode.CanResize; Canvas1.Children.Remove <Ellipse>(); this.Hide(); System.Threading.Thread.Sleep(0200); // give the form a second to hide before launching snipping tool //SnippingTool Output System.Drawing.Image bmp = SnippingTool.Snip(); //Convert Image for use in WPF canvas Image image = new Image(); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png); ms.Position = 0; BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.StreamSource = ms; bi.EndInit(); GlobalImageVar.GlobalBMP = BitmapImage2Bitmap(bi); ResizeImage(sender, e); Canvas1.Background = new SolidColorBrush(Colors.White); }
public static Image Snip() { var rc = Screen.PrimaryScreen.Bounds; using (Bitmap bmp = new Bitmap(rc.Width, rc.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb)) { using (Graphics gr = Graphics.FromImage(bmp)) //gr.CopyFromScreen(rc.Left, rc.Top, rc.Left, rc.Top, bmp.Size); gr.CopyFromScreen(0, 0, 0, 0, bmp.Size); using (var snipper = new SnippingTool(bmp)) { if (snipper.ShowDialog() == DialogResult.OK) { return(snipper.Image); } } return(null); } }