Bunu programla yapmaya ne gerek var print screen tuşu ile zaten ekran görüntüsünü kaydedebiliyoruz diyebilirsiniz :) haklısınız da, C# ile ekran görüntüsü alarak direk bir dosya olarak istediğimiz formatta kaydedebiliriz png,bmp,jpg bunun için ek bir programa gerek yok. Bu işlemi yapabilmek için Aşağıdaki gibi bir form tasarlıyacağız. Programın Çalışan halini konu sonundaki linkten indirebilirsiniz. Form üzerine bir buton ekliyoruz daha sonrada saveFileDialog nesnesi ekliyoruz. ..
saveFileDialog nesnesinin Filter özelliğini “BMP|*.bmp|PNG|*.png|JPEG|*.jpg” yazıyoruz bunlar kaydedebileceğimiz resim uzantıları.
Daha sonra kod bölümüne geçip
using System.Drawing.Imaging; using System.Threading;
kütüphanelerini çalışmamıza ekiyoruz ve sonra aldığımız görüntüyü kayıt edebilmek için
ImageFormat img; Bitmap bt; Graphics screenShot;
değişkenlerini buton click olayının hemen üstüne tanımladıktan sonra buton clik olayının içine
if (saveFileDialog1.ShowDialog() == DialogResult.OK) { //Formu gizledik this.Hide(); // Ekran görüntüsünü almak için Formu 500 milisaniye gizliyoruz Thread.Sleep(500); //Ekran boyutuna göre görüntü ayarladık bt = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); // Görüntü (bt) için grafik nesnesi oluşturur. screenShot = Graphics.FromImage(bt); // Ekran görüntüsünü alır. screenShot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size,CopyPixelOperation.SourceCopy); switch (saveFileDialog1.FilterIndex) { case 0: img = ImageFormat.Bmp; break; case 1: img = ImageFormat.Png; break; case 2: img = ImageFormat.Jpeg; break; } // Görüntüyü kaydeder. bt.Save(saveFileDialog1.FileName, img); // Dosyayı kaydettikten sonra Formu tekrar gösteriyoruz. this.Show(); }
İndir “C# Screen Shot (Ekran Görüntüsü) Alma”
ekrangoruntusual.zip – 3259 defa indirildi – 198,78 KB
hazır hali varsa link koyarmısınız
hazır hali derken kaynak kodlar ve programı http://www.bilisimogretmeni.com/download?did=54 buradan veya konu sonundaki linkten indirebilirsiniz… iyi çalışmalar
Tüm ekranı değilde aktif pencere veya belirlediğimiz bölgenin görüntüsünü nasıl alabiliriz.. ?