Merhaba arkadaslar,
Bu yazimizda herhangi bir c# projesinde ekran görüntüsü nasil alinir bunu açiklayacagiz.
Her ne kadar projenin orjinali en alttaki linkte mevcut olsa da, ben yine de proje hakkinda kisa bilgiler vereyim.
Öncelikle, Visual Studio’da "New Project" (CTRL N) ile yeni bir proje (WindowsFormsApplication) sayfasi açiyoruz. Adina da Screenshot diyoruz. Sonra bu sayfaya bir Button ekliyoruz. Bir de SaveFileDialog ekliyoruz.
Amacimiz, Button’a basildiginda otomatik olarak ekran görüntüsünü yakalamasi ve bilgisayara kaydetmesi olacak. Dolayisiyla, Button’un Click event’ine asagida tamamini verdigim kodlari ekliyoruz. Ayrica SaveFileDialog’un "Filter" özelligini de jpeg olarak kaydediyoruz. (Bkn: Örnek)
Isimiz resimle ilgili oldugu için Proje’nin kütüphanesine su kodu eklemeyi de unutmuyoruz:
using System.Drawing.Imaging;
Bundan sonraki kodlama islemleri ise tamamen su sekilde;
// Ekran Görüntüsü Alma | C# | www.yazilimcik.com | Ali AKYILDIRIM
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
// Ekran Görüntüsü Alma | C# | www.yazilimcik.com | Ali AKYILDIRIM
namespace Screenshot
{
    public partial class frmScreenshot : Form
    {
        public frmScreenshot()
        {
            InitializeComponent();
        }
        Bitmap bmpScreenshot;
        Graphics grafikScreenshot;
        private void btnScreenshot_Click(object sender, EventArgs e)
        {
            try
            {
                bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
                grafikScreenshot = Graphics.FromImage(bmpScreenshot);
                grafikScreenshot.CopyFromScreen(0, 0, 0, 0, new Size(bmpScreenshot.Width, bmpScreenshot.Height));
                sfdScreenshot.FileName = "Screenshot_" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + "_" + DateTime.Now.Year.ToString();
                sfdScreenshot.ShowDialog();
                bmpScreenshot.Save(sfdScreenshot.FileName + ".jpg", ImageFormat.Jpeg);
            }
            catch (Exception)
            { }
        }
    }
}
// Ekran Görüntüsü Alma | C# | www.yazilimcik.com | Ali AKYILDIRIM