Advertisement
Guest User

Untitled

a guest
Nov 17th, 2011
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1.  
  2. /**
  3. * Diese Klasse enthält zwei statische Methoden zum Umgang mit Farben.
  4. * Erst wird die inventierte Farbe berechnet durch das abziehen einer höchst
  5. * darstellbaren Farbe.Danach wird durch die gibnaechsteFarbe Methode die
  6. * darauffolgende Farbe berechnet.
  7. * @author Katharina Widera
  8. */
  9. public class Farben {
  10.  
  11. /**
  12. * Die höchste darstellbare Farbe ist 255255255 wenn man davon eine Farbe
  13. * abzieht erhält man die inventierte Farbe.
  14. * @param farbe
  15. * @return Die inventierte Farbe
  16. */
  17. public static int invertiere(int farbe) {
  18. /*
  19. * Farbe = rrrgggbbb
  20. * 255255255 - farbe 0
  21. */
  22. return 255255255 - farbe;
  23. }
  24.  
  25. /**
  26. * Berechnet die Farbe die auf eine gegebene Farbe folgt.
  27. * Der Farbwert wird um 1 an der kleinsten Stelle erhöht, die kleinste ist
  28. * blau. Wenn blau 255 überschreitet wird die Stelle auf 0 gesetzt und die
  29. * nächste Stelle um 1 erhöht. Das selbe gilt für gruen.
  30. * @param farbe
  31. * @return
  32. */
  33. public static int gibNaechsteFarbe(int farbe) {
  34.  
  35. int r;
  36. int g;
  37. int b;
  38. int neurot;
  39. int neugruen;
  40. int neublau;
  41.  
  42. b = farbe % 1000;
  43. g = (farbe / 1000) % 1000;
  44. r = (farbe / 1000) / 1000;
  45.  
  46. neublau = b + 1;
  47. neugruen = g + (neublau > 255 ? 1 : 0);
  48. neurot = r + (neugruen > 255 ? 1 : 0);
  49.  
  50. neublau = neublau % 256;
  51. neugruen = neugruen % 256;
  52. neurot = neurot % 256;
  53.  
  54. return ((neurot * 1000 + neugruen) * 1000 + neublau);
  55. }
  56.  
  57. /**
  58. * Führt die Berechnung aus und gibt das Ergebniss auf der
  59. * Konsole aus.
  60. * @param args
  61. */
  62. public static void main(String[] args) {
  63.  
  64. System.out.println(invertiere(0));
  65. System.out.println(invertiere(10128255));
  66. System.out.println(gibNaechsteFarbe(10128255));
  67. System.out.println(gibNaechsteFarbe(255255));
  68. System.out.println(gibNaechsteFarbe(255255255));
  69. System.out.println(gibNaechsteFarbe(10011012));
  70. }
  71. }
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement