C# Ekran Görüntüsü Alma
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.
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.
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
using system IO; Kütüphanesini en başa eklemeniz gerekiyor kusura bakmayın unutmuşum eklemeyi.
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
Herhangi bir yere ekleyebilirsiniz. Butonun hemen üstü olabilir.(Butonun içine eklenemez)