Advertisement
Guest User

q1

a guest
Nov 22nd, 2014
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1.  
  2. public class RGBColor
  3. {
  4. private int _red,_green,_blue;
  5.  
  6. final int MIN_VALUE = 0, MAX_VALUE = 255;
  7.  
  8. //constructors
  9. public RGBColor()//default constructor, black.
  10. {
  11. _red = 0;
  12. _green = 0;
  13. _blue = 0;
  14. }
  15.  
  16. public RGBColor(int red, int green, int blue)
  17. {
  18. if(isValid(red) && isValid(green) && isValid(blue))
  19. {
  20. _red = red;
  21. _green = green;
  22. _blue = blue;
  23. }
  24. else
  25. {
  26. _red = 0;
  27. _green = 0;
  28. _blue = 0;
  29. }
  30. }
  31.  
  32. public RGBColor(RGBColor other)
  33. {
  34. _red = other._red;
  35. _green = other._green;
  36. _blue = other._blue;
  37. }
  38.  
  39. private boolean isValid(int num)
  40. {
  41. if(num < MIN_VALUE ||num > MAX_VALUE)
  42. return false;
  43. return true;
  44. }
  45.  
  46. public int getRed()
  47. {
  48. return _red;
  49. }
  50.  
  51. public int getGreen()
  52. {
  53. return _green;
  54. }
  55.  
  56. public int getBlue()
  57. {
  58. return _blue;
  59. }
  60.  
  61. public void setRed(int num)
  62. {
  63. if(isValid(_red))
  64. _red = num;
  65. return;
  66. }
  67.  
  68. public void setGreen(int num)
  69. {
  70. if(isValid(_green))
  71. _green = num;
  72. return;
  73. }
  74.  
  75. public void setBlue(int num)
  76. {
  77. if(isValid(_blue))
  78. _blue = num;
  79. return;
  80. }
  81.  
  82. public String toString()
  83. {
  84. return "(" + _red + "," + _green + "," + _blue + ")";
  85. }
  86.  
  87. public boolean equals(RGBColor other)
  88. {
  89. if(_red == other._red && _green == other._green && _blue == other._blue)
  90. return true;
  91. return false;
  92. }
  93.  
  94. public void mix(RGBColor other)
  95. {
  96. _red = Average(_red,other._red);
  97. _green = Average(_green,other._green);
  98. _blue = Average(_blue,other._blue);
  99. }
  100.  
  101. private int Average(int num1, int num2)
  102. {
  103. return (num1 + num2)/2;
  104. }
  105.  
  106. public double convertToGrayscale()
  107. {
  108. return 0.3 * _red + 0.59 * _green + 0.11 * _blue;
  109. }
  110.  
  111. public void invert()
  112. {
  113. _red = MAX_VALUE - _red;
  114. _green = MAX_VALUE - _green;
  115. _blue = MAX_VALUE - _blue;
  116. }
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement