Mieszanie kolorów

Marcin Baszczewski

Poniższa metoda oblicza kolor wynikający ze zmieszania dwóch kolorów z określonymi proporcjami. Żeby przeprowadzić mieszanie równomierne, należy trzeci i czwarty parametr ustawić na 1. Kolory reprezentowane są jako obiekty Color z pakietu AWT, używane m. in. przy rysowaniu na komponencie Canvas.

	
Color MieszanieKolorow(Color Kolor1,Color Kolor2,int Proporcja1,int Proporcja2)
{
   int R1,G1,B1,R2,G2,B2;
   R1=Kolor1.getRed();
   G1=Kolor1.getGreen();
   B1=Kolor1.getBlue();
   R2=Kolor2.getRed();
   G2=Kolor2.getGreen();
   B2=Kolor2.getBlue();
	    
   int SumaProp = Proporcja1 + Proporcja2;
   R1=Math.round((R1 * Proporcja1 + R2 * Proporcja2) / SumaProp);
   G1=Math.round((G1 * Proporcja1 + G2 * Proporcja2) / SumaProp);
   B1=Math.round((B1 * Proporcja1 + B2 * Proporcja2) / SumaProp);
   return new Color(R1,G1,B1);
}

Np. chcąc zmieszać zielony z czerwonym, należy napisać MieszanieKolorow (Color.GREEN, Color.RED, 1, 1).

4 komentarzy

ok chetnie rozwine ten tekst (i inne)... ale troszke to potrwa (obowiazki)

Marcin dopisz choć troszkę tekstu tłumaczącego co i jak. nawet FAQ nie powinien ograniczać się do formy posta z forum.

a i dział java się powoli rozkręca, ale jest kampania wrześniowa :) będzie październik to się zacznie pisać :)

tak... bardziej skomplikowane teksty leca do artykulow ;-) to oczywiste... a i... trzeba dopiero rozkrecic dzial java

Hmm.. zbytnio skomplikowany FAQ to nie jest.