Advertisement
pieniakoskar

RGB

Mar 19th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. template <typename jakis_typ>
  5. class Barwa
  6. {
  7. jakis_typ R;
  8. jakis_typ G;
  9. jakis_typ B;
  10. float A;
  11. public:
  12. Barwa(jakis_typ r, jakis_typ g, jakis_typ b, float a) :
  13. R(r),
  14. G(g),
  15. B(b),
  16. A(a)
  17. {}
  18.  
  19. void Ustaw(char Skladowa, jakis_typ X)
  20. {
  21. switch(Skladowa)
  22. {
  23. case 'R':
  24. if(X < R) R = X;
  25. break;
  26. case 'G':
  27. if(X < G) G = X;
  28. break;
  29. case 'B':
  30. if(X < B) B = X;
  31. break;
  32. case 'A':
  33. if(X < A) A = X;
  34. break;
  35. }
  36. }
  37.  
  38. jakis_typ Pobierz(char Skladowa)
  39. {
  40. switch(Skladowa)
  41. {
  42. case 'R':
  43. return R;
  44. break;
  45. case 'G':
  46. return G;
  47. break;
  48. case 'B':
  49. return B;
  50. break;
  51. return B;
  52. case 'A':
  53. return A;
  54. break;
  55. }
  56. }
  57.  
  58. jakis_typ OdcienSzarosci()
  59. {
  60. return (R+G+B)/3;
  61. }
  62.  
  63. };
  64. int main()
  65. {
  66. Barwa<int> N(125,211,255,1.0);
  67. Barwa<float> X(121,101,10,0.2);
  68. Barwa <double> M(125,101,10,0.2);
  69.  
  70. N.Ustaw('R', 212);
  71. N.Ustaw('X', 100);
  72. N.Ustaw('G', 256);
  73. N.Ustaw('A', 1.2);
  74.  
  75. X.Ustaw('A', 0.5);
  76.  
  77. M.Ustaw('X', 150);
  78. M.Ustaw('R', 255);
  79. M.Ustaw('R', 111);
  80.  
  81. printf("Dla int R: %d G: %d B: %d A: %d Odcien Szarosci: %d\n", N.Pobierz('R'), N.Pobierz('G'), N.Pobierz('B'), N.Pobierz('A'), N.OdcienSzarosci() );
  82. printf("Dla float R: %2.1f G : %2.1f : B : %2.1f A : %2.1f Odcien szarosci : %2.1f\n",X.Pobierz('R'),X.Pobierz('G'),X.Pobierz('B'),X.Pobierz('A'),X.OdcienSzarosci());
  83. printf("Dla double R: %2.1lf G : %2.1lf : B : %2.1lf A : %2.1lf Odcien szarosci : %2.1lf\n",M.Pobierz('R'),M.Pobierz('G'),M.Pobierz('B'),M.Pobierz('A'),M.OdcienSzarosci());
  84.  
  85. getch();
  86. return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement