Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Diese Klasse enthält zwei statische Methoden zum Umgang mit Farben.
- * Erst wird die inventierte Farbe berechnet durch das abziehen einer höchst
- * darstellbaren Farbe.Danach wird durch die gibnaechsteFarbe Methode die
- * darauffolgende Farbe berechnet.
- * @author Katharina Widera
- */
- public class Farben {
- /**
- * Die höchste darstellbare Farbe ist 255255255 wenn man davon eine Farbe
- * abzieht erhält man die inventierte Farbe.
- * @param farbe
- * @return Die inventierte Farbe
- */
- public static int invertiere(int farbe) {
- /*
- * Farbe = rrrgggbbb
- * 255255255 - farbe 0
- */
- return 255255255 - farbe;
- }
- /**
- * Berechnet die Farbe die auf eine gegebene Farbe folgt.
- * Der Farbwert wird um 1 an der kleinsten Stelle erhöht, die kleinste ist
- * blau. Wenn blau 255 überschreitet wird die Stelle auf 0 gesetzt und die
- * nächste Stelle um 1 erhöht. Das selbe gilt für gruen.
- * @param farbe
- * @return
- */
- public static int gibNaechsteFarbe(int farbe) {
- int r;
- int g;
- int b;
- int neurot;
- int neugruen;
- int neublau;
- b = farbe % 1000;
- g = (farbe / 1000) % 1000;
- r = (farbe / 1000) / 1000;
- neublau = b + 1;
- neugruen = g + (neublau > 255 ? 1 : 0);
- neurot = r + (neugruen > 255 ? 1 : 0);
- neublau = neublau % 256;
- neugruen = neugruen % 256;
- neurot = neurot % 256;
- return ((neurot * 1000 + neugruen) * 1000 + neublau);
- }
- /**
- * Führt die Berechnung aus und gibt das Ergebniss auf der
- * Konsole aus.
- * @param args
- */
- public static void main(String[] args) {
- System.out.println(invertiere(0));
- System.out.println(invertiere(10128255));
- System.out.println(gibNaechsteFarbe(10128255));
- System.out.println(gibNaechsteFarbe(255255));
- System.out.println(gibNaechsteFarbe(255255255));
- System.out.println(gibNaechsteFarbe(10011012));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement