C# kodlarıyla printscreen işlemi ilk önce kulağa çok zor gelse de gayet basit bir yapısı var. Bir web form application ile bu işlemi gerçekleştirmeye çalışalım.
//Bütün sayfanın ekran görüntüsünü almak için kullanılan metod
private void PrintScreen()
{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:\Print\printscreen2.jpg”, ImageFormat.Jpeg);
}
//Aktif olan formun ekran görüntüsünü almak için kullanılan metod
private Bitmap Snapshot()
{
// bitmap nesnesi oluştur
Bitmap Screenshot = new Bitmap(this.Width, this.Height);// bitmapten grafik nesnesi oluştur
Graphics GFX = Graphics.FromImage(Screenshot);// ekrandan programın bulunduğu konumun resmini alalım
GFX.CopyFromScreen(this.Left, this.Top, 0, 0, this.Size);
return Screenshot;
}Yukarıdaki metodları çağırmak için ben formuma buton yerleştirdim. Butonun click kısmında da metodları çağırdım. O kodlar da aşağıda bulunmaktadır.
private void button1_Click(object sender, EventArgs e)
{
PrintScreen();
Snapshot().Save(@”C:\Print\program_goruntusu.jpg”);}
Yukarıdaki kodları kullanırken dikkat edilmesi gereken önemli bir husus resmin nerede olmasını istiyorsanız o adresin pathini doğru vermeniz.
Bu işlemi gerçekleştirmek için yararlandığım kaynak linkler şunlardır:
http://kodzilla.wordpress.com/2012/09/09/c-ile-programin-ekran-goruntusunu-alma-snapshot/