Jak sprawdzić ile jest jakiegoś koloru na panelu albo image'u? Np. mam panelek i rysuję na nim canvasem jakąś figurę w kolorze czerwonym (wypełnioną) - i jak teraz sprawdzić, jaką powierzchnię panelu zajmuje ta figura? (właściwie nie figura, ale kolor). Czy trzeba sprawdzać każdy piksel po kolei?
jeśli nie możesz podczas rysowania zapisać sobie kształtów danej figóry to pozostaje Ci jedynie sprawdzanie piksel po pikselu. Hint zamiast odczytywać pixel odczytuj całą linię ScanLine będzie dużo szybciej
A dałoby się to robic na bieżąco? Np. rysuję myszką (tak jak w np. paintcie) i program sprawdza, ile jest "koloru" tej kreski i zapisuje na labelu?
Widziałem kiedyś taką grę dla 2 graczy: zamalowują na czas jakieś pole i wygrywa ten, kto zamaluje więcej. Chodzi mi o coś podobnego.
To wtedy w grę wchodzi wyłącznie ScanLine. Po prostu robisz obliczenie po każdej akcji rysowania.
konik napisał(a)
A dałoby się to robic na bieżąco? Np. rysuję myszką (tak jak w np. paintcie) i program sprawdza, ile jest "koloru" tej kreski i zapisuje na labelu?
Widziałem kiedyś taką grę dla 2 graczy: zamalowują na czas jakieś pole i wygrywa ten, kto zamaluje więcej. Chodzi mi o coś podobnego.
jeśli będziesz rysował konkretne figury i je zamalowywał to możesz to liczyć bez sprawdzania każdego pixela, jeśli natomiast będzie to rysowane z ręki to tylko ScanLine
Może nie zrozumiałem problemu, ale jak rysujesz z ręki, to i tak musisz te piksele gdzieś postawić, więc chyba można dodawać liczbę pikseli, które rysujesz, a nie rysować i zliczać z canvasa.
berl napisał(a)
Może nie zrozumiałem problemu, ale jak rysujesz z ręki, to i tak musisz te piksele gdzieś postawić, więc chyba można dodawać liczbę pikseli, które rysujesz, a nie rysować i zliczać z canvasa.
tyle, że z tego co ja zrozumiałem autorowi chodzi o policzenie też przy zakreśleniu jakiegoś pola z ręki i wypełnienia go