Tutorial :C#: how to take a screenshot of a portion of screen



TakeScreenshot(new Rectangle(0,0,100,100), "output.jpg");  


Use the following:

        Rectangle rect = new Rectangle(0, 0, 100, 100);          Bitmap bmp = new Bitmap(rect.Width, rect.Height, PixelFormat.Format32bppArgb);          Graphics g = Graphics.FromImage(bmp);          g.CopyFromScreen(rect.Left, rect.Top, 0, 0, bmp.Size, CopyPixelOperation.SourceCopy);          bmp.Save(fileName, ImageFormat.Jpeg);  


Here is the code to capture the screen. Change the values to the size you need.

 Bitmap printscreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);       Graphics graphics = Graphics.FromImage(printscreen as Image);       graphics.CopyFromScreen(0, 0, 0, 0, printscreen.Size);       printscreen.Save(@"C:\printscreen.jpg", ImageFormat.Jpeg);  

Or make method which will return you captured image like this :

Image CaptureScreen(int sourceX, int sourceY, int destX, int destY,               Size regionSize)  {      Bitmap bmp = new Bitmap(regionSize.Width, regionSize.Height);      Graphics g = Graphics.FromImage(bmp);      g.CopyFromScreen(sourceX, sourceY, destX, destY, regionSize);      return bmp;  }   ......   // call    Image image = CaptureScreen(sourceX, sourceY,  destX,  destY, regionSize);   image.Save(@"C:\Somewhere\screen.jpg);  


Use the Graphics.CopyFromScreen method. Google turns up this tutorial.


Have you checked the Graphics.CopyFromScreen method?

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »