Diskuze: C# Bitmap a farby

C# .NET .NET (C# a Visual Basic) C# Bitmap a farby American English version English version

Avatar
roks
Člen
Avatar
roks:

Zdravím, vedel by mi niekto poradiť,ako spravím aby program z otvoreného obrázku napr. Bitmap image1 zistil, ktorá farba sa na obrázku nachádza najviac a uloží ju do Color farba. Ďakujem za pomoc :)

 
Odpovědět 10.8.2013 21:23
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na roks
Jiří Gracík:

Uděláš si list/pole barev a jejich počtů, budeš procházet obrázek pixel po pixelu a vždycky ho uložíš, na konci zjistíš, která barva tam byla nejvíckrát :)

Nahoru Odpovědět 10.8.2013 21:25
Creating websites is awesome till you see the result in another browser ...
Avatar
roks
Člen
Avatar
roks:

Pfú, vďaka, aj keď nemám predstavu jak vložiť všetky pixely do Listu :/

 
Nahoru Odpovědět 11.8.2013 0:03
Avatar
Odpovídá na roks
Luboš Běhounek (Satik):

treba takhle to spocitas:

int[] pocty = new int[256*256*256];

for (int y=0; y<bitmap.Height; y++)
  for (int x=0; y<bitmap.Width; x++)
  {
    pocty[(int)bitmap.GetPixel(x,y)]++;
  }

pak uz si jen najdes maximum v poli pocty.

Editováno 11.8.2013 9:11
Nahoru Odpovědět 11.8.2013 9:09
:)
Avatar
roks
Člen
Avatar
roks:

Aha, ale nie je možné konvertovať bitmap.GetPixel(x, y) do int

 
Nahoru Odpovědět 11.8.2013 11:33
Avatar
Odpovídá na roks
Luboš Běhounek (Satik):

Aha, tak misto toho asi .ToArgb()
Nezkousel jsem to, kdyztak google napovi ("C# color to int")
:)

Nahoru Odpovědět 11.8.2013 18:00
:)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.