C# Ekran Görüntüsü Çekme – Alma
15 Nisan 2020 / 08:30
Burak
C# ile yazılım yaparken bazı durumlardan ekran görüntünü kaydetmemiz gerekebilir.İşte böyle durumlar için hazırlamış olduğum kodları , umarım sizlerin işinide yarar.Öncelikle tanımlamanız gereken kütüphaneler
1 2 |
using System.IO; using System.Drawing.Imaging; |
İkinci adım olarak sa ekran görüntüsünü çekicek fonsiyonumuz ;
1 2 3 4 5 6 7 |
private Bitmap ekran_goruntusu() { 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; } |
ve son olaraksa ekran görüntüsünü kaydetme kodumuz , bu kodu herhangi bir event’a yazabilirsiniz.Butonun click yada timer’ın tick eventına
1 2 |
Directory.CreateDirectory(@"C:\temp"); ekran_goruntusu().Save(@"C:\temp\ekrangörüntüsü.jpg", ImageFormat.Jpeg); //görüntüyü kayıt ediyoruz |
bir sonraki yazılımda görüşünceye kadar bol kodlu günler
Yöntem 2
Yukardaki yöntem dışında aşağıdaki yöntemi de kullanabilirsiniz.
Kütüphaneleri yükleyiniz.
1 2 3 4 |
using System.Windows.Forms; // also requires a reference to this assembly using System.Drawing; // also requires a reference to this assembly using System.Drawing.Imaging; using System.Threading; |
Herhangi bir butonun eventına aşağıdaki kodu yazınız.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Thread thread = new Thread(() => { // Determine the size of the "virtual screen", which includes all monitors. int screenLeft = SystemInformation.VirtualScreen.Left; int screenTop = SystemInformation.VirtualScreen.Top; int screenWidth = SystemInformation.VirtualScreen.Width; int screenHeight = SystemInformation.VirtualScreen.Height; // Create a bitmap of the appropriate size to receive the screenshot. using (Bitmap bmp = new Bitmap(screenWidth, screenHeight)) { // Draw the screenshot into our bitmap. using (Graphics g = Graphics.FromImage(bmp)) { g.CopyFromScreen(screenLeft, screenTop, 0, 0, bmp.Size); } // Do something with the Bitmap here, like save it to a file: bmp.Save("C:\\TestImage.jpg", ImageFormat.Jpeg); } }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); |
Etiketler: C# Ekran Görüntüsü Alma, C# Ekran Görüntüsü Çekme
Bu Yazılarıda Okuyabilirsiniz...
Bir yanıt yazın