[VC++/WinAPI] Maska

0

user image
To jest przykladowy rysunek ikonek z 3dsmax, wktóym używane są maski. Nie bede wyjasnial o co chodzi bo kazdy chyba wie z rysunku. Moje pytanie brzmi jak najlatwiej majac dwie bitmapy dokonac wyswietlenia ikonki z uzyciem maski (tam gdzie jest czarne ikonka bedzie przezroczysta, tam gdzie biala nieprzezroczysta, a gdzie szara polprzezroczysta). Jesli chodzi o maski monochormatyczne to uzywalem "kodow" ROP2, ale tutaj to sie nie przyda chyba, moze ktos z was funkcje ktora by to realizowala? z gory dzieki za pomoc</url>

0

Prawdopodobnie powinieneś napisać sobie własną funkcję do tego.
Dostaje 3 parametry:

  • ikonka
  • maska
  • tło, na którym ma być wyświetlone

i w dużym uproszczeniu liczysz każdą składową każdego pixela nowej ikonki:

nowa[x][y] = round(tlo[x][y]*((255-maska[x][y])/255.0) + ikona[x][y]*(maska[x][y]/255.0));

Zapewne da się wzorki zoptymalizować - to najprostsza postać do wytłumaczenia.

0

niepotrzebnie pytalem bo to wiedzialem... wlasciwie to o co innego mi chodzilo ale juz wiem jak to rozwiazac... ale dzieki za fatyge...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.