// Resimleri Karsilastirma ve Siyah-Beyaz Resim | C# | www.yazilimcik.com
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.Collections; // ArrayList() Sinifi Için Gerekli:
using System.Threading;
// Resimleri Karsilastirma ve Siyah-Beyaz Resim | C# | www.yazilimcik.com
namespace Resim_Karsilastirma_Yazilimcik_Com
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Bitmap bmp1, bmp2;
        ArrayList ali1 = new ArrayList();
        ArrayList ali2 = new ArrayList();
        private void Form1_Load(object sender, EventArgs e)
        {
            if (pbResim1.Image != null && pbResim2.Image != null)
            {
                btnKarsilastir.Enabled = true;
                btnSiyahBeyaz1.Enabled = true;
                btnSiyahBeyaz2.Enabled = true;
            }
            else
            {
                btnKarsilastir.Enabled = false;
                btnSiyahBeyaz1.Enabled = false;
                btnSiyahBeyaz2.Enabled = false;
            }
        }
        private void btnResimYukle1_Click(object sender, EventArgs e)
        {
            try
            {
                ali1.Clear();
                openFileDialog1.ShowDialog();
                bmp1 = (Bitmap)Bitmap.FromFile(openFileDialog1.FileName);
                pbResim1.Image = bmp1;
                for (int i = 0; i 
                {
                    for (int j = 0; j 
                    {
                        ali1.Add(bmp1.GetPixel(i, j).Name);
                    }
                } btnResimYukle1.Enabled = false;
                btnSiyahBeyaz1.Enabled = true;
                Thread.Sleep(3000);
            }
            catch (Exception)
            { }
        }
        private void btnResimYukle2_Click(object sender, EventArgs e)
        {
            try
            {
                ali2.Clear();
                openFileDialog1.ShowDialog();
                bmp2 = (Bitmap)Bitmap.FromFile(openFileDialog1.FileName);
                pbResim2.Image = bmp2;
                for (int i = 0; i 
                {
                    for (int j = 0; j 
                    {
                        ali2.Add(bmp2.GetPixel(i, j).Name);
                    }
                } btnResimYukle2.Enabled = false;
                btnKarsilastir.Enabled = true;
                btnSiyahBeyaz2.Enabled = true;
                Thread.Sleep(3000);
            }
            catch (Exception)
            { }
        }
        private void btnKarsilastir_Click(object sender, EventArgs e)
        {
            if (pbResim1.Image != null && pbResim2.Image != null)
            {
                try
                {
                    double esit = 0;
                    double farkli = 0;
                    for (int i = 0; i 
                    {
                        if (ali1[i].ToString() == ali2[i].ToString())
                        {
                            esit++;
                        }
                        else
                        {
                            farkli++;
                        }
                    }
                    if (farkli == 0)
                    {
                        lblSonuc.Text = "** Resimler AYNI";
                    }
                    else
                    {
                        lblSonuc.Text = "** Resimler FARKLI";
                    }
                }
                catch (Exception)
                { }
            }
            else
            {
                MessageBox.Show("Lütfen Her Iki Resmi de Yüklediginizden Emin Olun..!", "Bilgi: Yazilimcik.Com", MessageBoxButtons.OK, MessageBoxIcon.Information);
            } btnSiyahBeyaz1.Enabled = true;
            btnSiyahBeyaz2.Enabled = true;
        }
        private void btnYeni_Click(object sender, EventArgs e)
        {
            pbResim1.Image = null;
            pbResim2.Image = null;
            btnKarsilastir.Enabled = true;
            btnResimYukle1.Enabled = true;
            btnResimYukle2.Enabled = true;
            lblSonuc.Text = string.Empty;
            btnSiyahBeyaz1.Enabled = false;
            btnSiyahBeyaz2.Enabled = false;
        }
        private void btnSiyahBeyaz1_Click(object sender, EventArgs e)
        {
            if (pbResim1.Image != null)
            {
                try
                {
                    for (int i = 0; i 
            {
                for (int j = 0; j 
                {
                    Color presentColor = bmp1.GetPixel(i, j);
                    int gray = (int)((presentColor.R * 0.3) + (presentColor.G * 0.59) + (presentColor.B * 0.11));
                    bmp1.SetPixel(i, j, Color.FromArgb(gray, gray, gray));
                }
            }
            pbResim1.Image = bmp1;
            btnSiyahBeyaz1.Enabled = false;
                }
                catch (Exception)
                {}
            }
            else
            {
                MessageBox.Show("Herhangi Bir Resim Yüklemediniz..!", "Bilgi: Yazilimcik.Com", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void btnSiyahBeyaz2_Click(object sender, EventArgs e)
        {
            if (pbResim2.Image != null)
            {
                for (int i = 0; i 
                {
                    for (int j = 0; j 
                    {
                        Color presentColor = bmp2.GetPixel(i, j);
                        int gray = (int)((presentColor.R * 0.3) + (presentColor.G * 0.59) + (presentColor.B * 0.11));
                        bmp2.SetPixel(i, j, Color.FromArgb(gray, gray, gray));
                    }
                }
                pbResim2.Image = bmp2;
                btnSiyahBeyaz2.Enabled = false;
            }
            else
            {
                MessageBox.Show("Herhangi Bir Resim Yüklemediniz..!", "Bilgi: Yazilimcik.Com", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }
}
// Resimleri Karsilastirma ve Siyah-Beyaz Resim | C# | www.yazilimcik.com