Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }