Imam sliku Srbije podeljenu po regionima gde je svaki region obojen drugom bojom. Slika je u .gif formatu da bi ostatak slike (pozadina) bila transparentna. Ta slika se prilikom pokretanja aplikacije učitava u PictureBox kontrolu i služi za dalju navigaciju kroz aplikaciju. Znači korisnik bi trebalo da klikne na neki region i da se učita slika njegovih okruga. Svaki region je druge boje jer sam pretpostavio da ću tako moći da utvrdim koji je region korsnik odabrao. Tu nastaje problem. U MouseMove događaju PictureBox kontrole sam koristio kod
Code:
((Bitmap)pctIzbor.Image).GetPixel(e.X, e.Y)
((Bitmap)pctIzbor.Image).GetPixel(e.X, e.Y)
da bih dobio boju pixela na trenutnoj lokaciji miša na slici. Da bih dobio oznaku boje regiona koristio sam program Color Cop uz pomoć kog sam bio HEX vrednost boje. Kod koji sam koristio da bih uporedio boju pixela i boju regiona je
Code:
((Bitmap)pctIzbor.Image).GetPixel(e.X, e.Y).Name == ColorTranslator.FromHtml("#98C445").Name
((Bitmap)pctIzbor.Image).GetPixel(e.X, e.Y).Name == ColorTranslator.FromHtml("#98C445").Name
Tu nastaje problem. Funkcija GetPixel ni jednog trenutka ne pronalazi na slici boju koja bi trebalo da bude konstanta (izraz desno u jednakosti). Čak na celoj regiji na slici sa istom bojom, pronalazi nekoliko različitih vrednosti za boju, iako je sve obojeno bez ikakvih efekata (jedna ista boja pokriva celu površinu regiona). Gde je ovde greška? Postoji li neki drugi način da se ovo reši?
Unapred hvala...