Untitled

 avatar
unknown
plain_text
2 years ago
3.8 kB
5
Indexable
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;

namespace GoruntuIslemeFinal
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        public string DosyaKlasoru = "C:\\Users\\Serkan T\\Desktop\\meyve_resimler";
        string[] meyveler = new string[180];
        public void ResimEkle_Click(object sender, EventArgs e)
        {
            OpenFileDialog kaynak = new OpenFileDialog();
            kaynak.Title = "Kullanıcı Resim Yükleme";
            kaynak.Filter = "Resim Dosyaları|*.jpg;*.jpeg;*.png" ;
            kaynak.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            if (kaynak.ShowDialog() == DialogResult.OK)
            {
                string dosya_yolu = kaynak.FileName;
                sonuc(dosya_yolu);
            }
        }
        public void sonuc(string dosya_yolu) { 
            Bitmap Resim = new Bitmap(dosya_yolu);
            string sonuc = islem1(Resim);
            Resim_Kutusu.Image = Resim;
            sonuc_label.Text = sonuc;
        }
        public string islem1(Bitmap Resim) {
            string[] dosya_yollari = Directory.GetFiles(DosyaKlasoru);
            for (int i = 0; i < dosya_yollari.Length; i++)
            {
                meyveler[i] = Path.GetFileName(dosya_yollari[i]);
            }
            string sonuc = "Eşleştirme Başarısız!";
            foreach (string meyve in meyveler)
            {
                    string meyve_dosya_yolu = Path.Combine(DosyaKlasoru, meyve);
                    int sayıcı=0;
                    using (Bitmap meyve_resim = new Bitmap(meyve_dosya_yolu))
                    {
                        if (ResimEsleme(Resim, meyve_resim))
                        {
                            List<int> karakterIndexler = new List<int>();
                        for (int i = 0; i < meyve.Length; i++)
                        {
                            if (meyve[i] == '_')
                            {
                                karakterIndexler.Add(i); 
                            }
                        }

                        if (karakterIndexler.Count > 0)
                        {
                            sayıcı = karakterIndexler.Max();
                        }

                        sonuc=meyve.Substring(0, sayıcı);
                        
                        break;
                        }
                        else
                        {
                        sonuc = "Sonuç Bulunamadı";
                        }
                    }
            }
            return sonuc;
        }
        private bool ResimEsleme(Bitmap resim1, Bitmap resim2) 
        {
            if (resim1.Width != resim2.Width || resim1.Height != resim2.Height)
                return false;

            for (int x = 0; x < resim1.Width; x++)
            {
                for (int y = 0; y < resim1.Height; y++)
                {
                    Color deger1 = resim1.GetPixel(x, y);
                    Color deger2 = resim2.GetPixel(x, y);

                    if (deger1 != deger2)
                        return false;
                }
            }
            return true;
        }

        private void sonuc_label_Click(object sender, EventArgs e)
        {

        }

        private void panel1_Paint(object sender, PaintEventArgs e)
        {

        }

        private void panel2_Paint(object sender, PaintEventArgs e)
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }
    }
}
Editor is loading...