[#2]
Re: Blitz, jak malowac kolorem "przezroczystym"
@peceha,
post #1
Jest na to sposób. Jeżeli rysujesz obiekty o nieregularnym kształcie (nieprostokątne) to i tak przecież musisz wybrać obszar/kolor, który będzie przeźroczysty.
Musisz po prostu utworzyć maskę dla swojego shape'a albo wybierając jakiś obszar, albo jakiś kolor. Maskę utworzysz np. za pomocą Blittera. Jeżeli wybierasz obszar, po prostu zapal bity tam gdzie chcesz by znalazł się obrazek a zgaś tam, gdzie chcesz by było tło.
Jeśli chcesz by jakiś kolor był przeźroczysty, wówczas musisz wygenerować maskę przechodząc przez wszystkie bitplany shape'a (jak przy tradycyjnym ustalaniu maski), ale podając odpowiedni "minterm" dla Blittera dla każdego planu.
Przykład: przy tworzeniu maski dla shape'a, gdzie kolor 0 jest przeźroczysty (tradycyjnie), to minterm wynosi D=B dla pierwszego bitplanu i D=A+B dla kolejnych bitplanów, gdzie A to maska utworzona z bitplanu poprzedniego.
Jeżeli chcesz by np. kolor 3 = %00000011 był przeźroczysty, to dla bitplanu 0 i 1 stosujesz minterm A+~B.
Jeśli coś nie jasne (bo dużo spraw technicznych) to śmiało pytaj.