Tuesday , 21 November 2017

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

|Bu Yazi 2254 Defa Okundu.|

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

Merhaba arkadaşlar , bu makalemde sizlere C# ile kodla ekran görüntüsünü nasıl alacağız bundan bahsedeceğim. Ekran görüntüsü almak her yerde işinize yarayabilir. Mesela programı yazıp ekran görüntüsünü çekmek için bir tuş kombinasyonu atayıp , programı arka planda çalıştırıp tuş kombinasyonuna basarak  hiçbir işlem yapmadan  resmin istediğimiz yere kayıt olmasını sağlayabiliriz.

Resim’in kayıt edileceği yeri belirlerken C: dizininin altına direkt olarak resmi kayıt edemeyiz.( Bu dediğim Windows 7 ve Windows 8 için geçerli). Çünkü Windows 7 ve 8 de direk olarak C: dizinine ulaşmamıza izin vermemekte güvenlikten dolayı. Bizde o yüzden kod ile C: nin içerisinde bir klasör açıp bu klasörün içerisine kayıt ettireceğiz resimlerimizi.

Öncelikle şunu yazmadan edemeyeceğim. C# da ekran görüntüsü almanın bir sürü yolu vardır. Çok daha uzun kod yazarak da bu işlemleri gerçekleştirebiliriz. Yada bundan daha kısa bir yöntemi vardır fakat benim bulduğum en kısa kod ile ekran görüntüsü almak bu şekildedir yani 🙂

Hemen kodları yazmaya başlayalım ;

ilk olarak resim çekmek için küçük bir fonksiyon yazalım ;

private Bitmap Screenshot() // Bitmap türünde olşuturuyoruz  fonksiyonumuzu. 
{
Bitmap Screenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
Graphics GFX = Graphics.FromImage(Screenshot);
GFX.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size);
return Screenshot;
}

Kodlar yukarıda gördüğünüz gibidir.  Şimdi bu kodları çalıştırmak için bir adet buton ekleyelim formumuza  ve butonumuzun altına kodlarımızı yazmaya devam edelim ;

Directory.CreateDirectory(@”C:\Ekran_Resimleri”);// Windows 7- 8 C dizinine direk ulaşmamıza imkan sağlamadığı için bir klasör oluşturuyoruz.
Screenshot().Save(@”C:\Ekran_Resimleri\ekrangörüntüsü.jpg”,ImageFormat.Jpeg); // görüntüyü kayıt edeceğimiz yeri seçiyoruz.

ekran-gorntusualma

Bütün işlemleri bitirdikten sonra üstteki resimde gördüğünüz gibi programımızı çalıştırıp Ekran Yakala butonuna tıkladığımızda C: nin altında Ekran_Resimleri adında bir klasör oluşturdu ve bu klasörün içerisine ekranın resmini çekip koydu. İşte arkadaşlar bütün işlem bu kadar basit.

4 comments

  1. hocam iyi hoş ama Directory.CreateDirectory(@”C:Ekran_Resimleri”);// Windows 7- 8 C dizinine direk ulaşmamıza imkan sağlamadığı için bir klasör oluşturuyoruz.
    Screenshot().Save(@”C:Ekran_Resimleriekrangörüntüsü.jpg”,ImageFormat.Jpeg); // görüntüyü kayıt edeceğimiz yeri seçiyoruz. bu kotlar hata veriyor using birşey eklemek lazım galiba

  2. private Bitmap Screenshot() // Bitmap türünde olşuturuyoruz fonksiyonumuzu.
    {
    Bitmap Screenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
    Graphics GFX = Graphics.FromImage(Screenshot);
    GFX.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size);
    return Screenshot;
    }
    nereye eklıyoruz

Leave a Reply

Your email address will not be published. Required fields are marked *

*