Operacje bitowe - jak zmienić istniejący kolor?

Przeczytałem o operatorach bitowych (& | ^) i rozumiem, że jeśli miałbym to zrobić:

alpha = 0xFF000000 >> 24 ;
blue = 0xFF0000FF & 0x000000FF;
red = 0xFFFF0000>>16 & 0x000000FF;
green = 0xFF00FF00>>8 & 0x000000FF;

potem mogę zamaskować inne kolory i po prostu mieć czerwone lub niebieskie elementy (itp ...) i jeśli miałbym to zrobić

int color = alpha | blue | red | green;

potem ponownie buduję kolor, żeby tak powiedzieć. Ciekawe, co chciałbym zrobić, gdybym chciał stworzyć bilinearną interpolację między dwoma kolorami w Javie. Jak bym to zrobił? Chciałbym zacząć od standardowego zielonego koloru (0xFF00FF00) i zakończyć na czarnym (0xFF000000), kolory na środku zmieniłyby się z zielonego na ciemniejsze zielenie, aż w końcu dotrą do czerni. Myślę, że musiałbym zrobić coś, gdzie utworzę bufferedImage, który zaczyna się jako zielony na górze, a następnie może utworzyć pętlę for, która odczytuje kolor poprzedniego piksela, a następnie przesuwa coś, aż do nowej wersji poprzedniego koloru jest tworzony i tak dalej. Niestety nie jestem pewien, jak to wdrożyć, ponieważ rozumiem operacje bitowe i przesunięcia w teorii, ale nie jestem pewien, jak je zastosować w tym celu. Każda pomoc byłaby bardzo mile widziana! Z góry dziękuję!

questionAnswers(2)

yourAnswerToTheQuestion