C# Ekran Görüntüsünü Alıp Kaydetme Programı

KeplerB

Ultra Member
Katılım
31 Tem 2019
Konular
56
Mesajlar
496
Tepkime puanı
478
RC Point
0
Merhaba sayın RealityCheats ailesi sizlere erkan görüntüsü (screenshot) alma programının yapımını göstereceğim.
İlk olarak form arayüzümüze bir adet PictureBox(pcSs) iki adet Button(btnKaydet, btnResimCek) ve bir adet Timer(tmr) ekleyelim. Ayrıca kullanmamız gereken bazı kütüphaneler var. Onlarda şunlar:
using System.IO;//Giriş-Çıkış işlemlerimiz için kullanacağız.
using System.Drawing.Imaging;//Resimlerimizi verimli kullanabilmemiz için gerekli kütüphane.

:yazili_anlatim:

1614524224004.png

Şimdi ekranın resmini çekmemiz için gerekli kodlamaları yapalım. “Screen Shot Al” butonuna basıp _Click olayına gelelim.​

C#:
private void btnResimCek_Click(object sender, EventArgs e)
 {
    tmr.Start();//Timer'ımızı başlattık.Özelliklerini aşağıda yazacağız.
    this.WindowState = FormWindowState.Minimized;//Form Ekranını küçültelim.
    System.Threading.Thread.Sleep(1000);//Programımızı bir saniyeliğine durduralım.
    SendKeys.Send("{PRTSC}");//Uygulamayı PrintScreen tuşuna bastıralım
    Image myimage = Clipboard.GetImage();//Çekilen Görüntüyü GetImage() yardımıyla 'myimage' taşıyalım
    pcSs.Image = myimage;//taşıdığımız fotoğrafımızı ise programdaki resim kutumuza atalım.
    this.WindowState = FormWindowState.Normal;//Ardından form ekranını normal boyuta getirelim.
 }

tmr adlı Timer’ımızı başlattık. Özelliklerini yazmamız için ilk önce Form1_Load olayına gelelim.​

C#:
private void Form1_Load(object sender, EventArgs e)
{
tmr.Interval = 1000;//Saniyede bir kere tmr_Tick olayını çalıştırır.
}
 
 
private void tmr_Tick(object sender, EventArgs e)
{
if (pcSs.Visible==true)//Eğer pcSs görünür ise
{
pcSs.Visible = false;//Görünürlüğü kapat.
}
else//Eğer pcSs görünür değil ise
{
pcSs.Visible = true;//Görünürlüğü aç.
}
}



Burada ise pcSs adlı pictureBox‘ımızı bir saniye açıp bir saniye kapalı göstermek için “Visible” özelliğini kullandık. Şimdi de çektiğimiz görüntüyü kaydetmek için btnKaydet adlı butona tıklayıp _Click olayına gerekli kodları yazıyoruz.
C#:
private void btnKydet_Click(object sender, EventArgs e)
 
 
 
{
 
 
Directory.CreateDirectory("C:\\Users\\keplerb\\Desktop\\ekranKaydet");//Masa üstüne Klasör oluşturduk.
pcSs.Image.Save("C:\\Users\\keplerb\\Desktop\\ekranKaydet\\ekranKaydet.jpg",ImageFormat.Jpeg);/* Görüntümüzü oluşturduğumuz klasöre jpg formatında kaydettik.*/
 
 
}

:resimler:

1614524594195.png

C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;
 
namespace WindowsFormsApp1
{
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }
 private void btnResimCek_Click(object sender, EventArgs e)
 {
 tmr.Start();
 this.WindowState = FormWindowState.Minimized;//Form Ekranını küçültelim.
 System.Threading.Thread.Sleep(1000);//Programımızı bir saniyeliğine durduralım.
 SendKeys.Send("{PRTSC}");//Uygulamayı PrintScreen tuşuna bastıralım
 Image myimage = Clipboard.GetImage();//Çekilen Görüntüyü GetImage() yardımıyla 'myimage' taşıyalım
 pcSs.Image = myimage;//taşıdığımız fotoğrafımızı ise programdaki resim kutumuza atalım.
 this.WindowState = FormWindowState.Normal;//Ardından form ekranını normal boyuta getirelim.
 }
 
 
 private void Form1_Load(object sender, EventArgs e)
 {
 tmr.Interval = 1000;//Saniyede bir kere tmr_Tick olayını çalıştırır.
 }
 
 private void tmr_Tick(object sender, EventArgs e)
 {
 if (pcSs.Visible==true)//Eğer pcSs görünür ise
 {
 pcSs.Visible = false;//Görünürlüğü kapat.
 }
 else//Eğer pcSs görünür değil ise
 {
 pcSs.Visible = true;//Görünürlüğü aç.
 }
 }
 
 private void btnKydet_Click(object sender, EventArgs e)
 {
 Directory.CreateDirectory("C:\\Users\\keplerb\\Desktop\\ekranKaydet");
 pcSs.Image.Save("C:\\Users\\keplerb\\Desktop\\ekranKaydet\\ekranKaydet.jpg",ImageFormat.Jpeg);
 }
 }
}
 

Zekus

Super Member
Katılım
29 Eki 2022
Konular
4
Mesajlar
151
Çözümler
1
Tepkime puanı
15
RC Point
0
kral bişey anlamadım
 
Üst