C# ile Ekran Görüntüsü Alma

Paylaş
 

Merhaba arkadaşlar bu yazımızda C# ile ekran görüntümüzü alıp istediğimiz yere kaydetmeyi öğreneceğiz. Tabii ekran görüntüsünü çekmek için yapılmış bir sürü program var. Ama insanın kendi programı gibisi yok. Yazacağımız program sadece ekran görüntüsü yakalama programlarının bir segment üzerinde olacak. Nasıl yani kanka? diye soracak olursanız cevaplayalım. Direk olarak sadece ekran görüntüsü için yazılan programda yakalanan ekran görüntüsünde yazılan programın kendisi de görüntülenmektedir. Bunun için biz 2 satır kod ile bunun önüne geçeceğiz.

Programımızın tasarım ve ekran görüntüsü bu şekilde:

Hadi fazla uzatmadan başlayalım kodlarımızı yazmaya.
İlk olarak iskelet için 1 adet pictureBox , 2 adet button ve 1 adet saveFileDialog ekliyoruz formumuza. Daha sonradan görsellik için istediğinizi ekleyebilirsiniz. SaveFileDialog aracımızla görüntüyü kaydet dediğimizde ekranımıza gelen pencerede yakalanan görüntünün nereye kayıt edileceğini ve adının ne olacağını belirleyebiliyoruz.

Kod bölümünde 2 adet kütüphane eklememiz gerekmektedir. Bir tanesi ekran görüntüsü yakalamak diğeri ise ekran görüntüsü alırken programı gizlemek için yazılan kodlarımızın çalışmasını sağlamaktadır. Kütüphanemize aşağıda ki kodları ekliyoruz.

using System.Drawing.Imaging; // Görüntü yakalamak için gerekli.
using System.Threading; // Formu gizlemek için gerekli.

Tasarım kısmında birinci butonumuzun textine Ekran Görüntüsü Al yazdım ben size ne isterseniz yazın. Click olayına aşağıda ki kodlarımızı yazıyoruz.

this.Hide(); // Formumuzu gizliyoruz.
Thread.Sleep(200); // Formumuzu 200 mili saniye gizli tutuyoruz.
GoruntuAl(); // Ekran görüntüsünü yakalamak için oluşturduğumuz kod bloğunu çalıştırıyoruz.
this.Show(); // Formumuzu gösteriyoruz.

Yukarıda butonumuzun click olayına yazdığımız GoruntuAl() kod bloğumuzu oluşturuyoruz.

private void GoruntuAl()
{
Bitmap Goruntu = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics GFX = Graphics.FromImage(Goruntu);
GFX.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size);
pBox_Goruntu.Image = Goruntu; // Görüntümüzü pictureBox' ta gösteriyoruz
}

Yakalanan ekran görüntüsünü kaydetme işlemi kaldı. Görüntüyü Kaydet butonumuzun click olayına aşağıda ki kodları yazıyoruz.

saveFileDialog1.ShowDialog(); // Dialog kutusunu gösteriyoruz.
pBox_Goruntu.Image.Save(saveFileDialog1.FileName + ".png", ImageFormat.Jpeg); // Görüntüyü dialog kutusunda belirtilen yere kaydediyoruz.
MessageBox.Show("Ekran görüntüsü başarı ile kayıt edildi.\nResim yolu:\n" + saveFileDialog1.FileName + ".png", "Başarı ile Kayıt Edildi!", MessageBoxButtons.OK, MessageBoxIcon.Information); // MessageBox ile uyarı kutusu oluşturuyoruz.

İşlemlerimiz bu kadar arkadaşlar. Hee birde program ilk açıldığında ekran görüntüsü alınsın derseniz formunuzun load olayına GoruntuAl() yazmanız yeterli olacaktır. Hazır halini indirebilirsiniz hadi kolay gelsin…

EkranGoruntusuAlma.zip Dosyasını İndir

Bu yazı 134 kere okundu.
  • Site Yorum
  • Facebook Yorum

Bir yorum bırak

Bir yorum bırak

REKLAM
Kredi hakkında bilgi alanı ismin anlamı bul