Resimi Pixel Pixel Renklere Ayırmak

Bu yazımda resim üzerinde gezinirken farenin bulundugu pixel deki rengi yakalamak için yapılması gerekenleri anlatacagım.
Öncelikle formumuzun üzerine resimi picturebox a yüklemek için 1 adet buton, resmi göstermek için 1 adet picturebox, yakalanan renk kodunu göstermek için 1 adet label eklemeniz gerekiyor.

Bahsettigim gibi resim üzerinde fare ile gezinirken üzerinde oldugumuz pixel rengini formun zemin rengine atayacaz.

GetPixel() metoduyla aktif pixel rengini alırken, SetPixel() metoduylada rengini değiştirebiliriz.

Sıra geldi kodlamaya;


Bitmap btm; // Öncelikle işe bir tane Bitmap deişken tanımlayarak başlıyoruz.
private void button1_Click(object sender, EventArgs e)
{
btm = new Bitmap(@"C:\CC.jpg");
pictureBox1.Image = btm; // Picturebox ımıza resmimizi yükledik
}

pictureBox nesnesinin üzerinde fare ile gezindikce aşagıda ki kodlar tetiklenecektir.

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (btm != null) //Resim yüklememişse hata verir.
{
try
{
Color color = btm.GetPixel(e.X, e.Y); // Olayın koptugu satır. Bize aktif pixselin rengisini veren kod satırı

this.BackColor = color; //Yaklanan renk formun zengine atandı.
label1.Text = color.Name;
}
catch {}
}
}

Yorum Gönder