Jak mogę uczynić płótno przezroczystym? Muszę, ponieważ chcę położyć dwa płótna jeden na drugim.
123
Płótna są domyślnie przezroczyste.
Spróbuj ustawić obraz tła strony, a następnie umieść na nim płótno. Jeśli nic nie jest narysowane na płótnie, możesz w pełni zobaczyć tło strony.
Pomyśl o płótnie jak o obrazie na szklanej płycie.
Wydaje mi się, że próbujesz zrobić dokładnie to, co właśnie próbowałem zrobić: chcę dwa ułożone w stos płótna ... dolne ma statyczny obraz, a górne zawiera animowane duszki. Z powodu animacji musisz wyczyścić tło górnej warstwy, aby było przezroczyste na początku renderowania każdej nowej klatki. W końcu znalazłem odpowiedź: nie używa globalAlpha i nie używa koloru rgba (). Prosta i skuteczna odpowiedź brzmi:
źródło
Jeśli chcesz, aby konkret
<canvas id="canvasID">
był zawsze przezroczysty, po prostu musisz go ustawićZamiast tego, jeśli chcesz, aby niektóre elementy wewnątrz obszaru płótna były przezroczyste, musisz ustawić przezroczystość podczas rysowania, tj
źródło
opacity
zmiany nie przyniosą efektu, jeśli na płótnie będzie wypełnione tło.Po prostu ustaw przezroczyste tło płótna.
źródło
Pomaluj swoje dwa płótna na trzecim płótnie.
Miałem ten sam problem i żadne z rozwiązań tutaj nie rozwiązało mojego problemu. Miałem jedno nieprzezroczyste płótno z innym przezroczystym płótnem nad nim. Nieprzezroczyste płótno było całkowicie niewidoczne, ale tło strony było widoczne. Rysunki z przezroczystego płótna na górze były widoczne, podczas gdy nieprzezroczyste płótno poniżej nie było.
źródło
Nie mogę skomentować ostatniej odpowiedzi, ale poprawka jest stosunkowo łatwa. Po prostu ustaw kolor tła nieprzezroczystego płótna:
Nie jestem pewien, ale wygląda na to, że kolor tła jest dziedziczony z ciała jako przezroczysty.
źródło