Untitled
unknown
plain_text
3 years ago
3.8 kB
8
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...