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:


EkranGoruntusuAlma

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…


İndir “Ekran Görüntüsü Alma” EkranGoruntusuAlma.zip – 354 defa indirildi – 233 KB

Bu yazı 1.797 kere okundu.
  • Site Yorum

Bir yorum bırak

YAZAR HAKKINDA

Bağımsız çalışan, çok düşünen, kodlamaya aşık ve güldürmeyi seven bir developer...
SPONSOR BAĞLANTILAR
SPONSOR BAĞLANTILAR

  • ÇOK OKUNAN
  • YENİ
  • YORUM
Facebookta Takip Edin
Kredi hakkında bilgi alanı