Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. package main
  2. import "fmt"
  3. func rgb2hsv(r,g,b int32) (h, s, v int32) {
  4. max := r
  5. min := r
  6. if max<g {
  7. max=g
  8. }
  9. if max<b {
  10. max=b
  11. }
  12. if min > g {
  13. min = g
  14. }
  15. if min > b {
  16. min = b
  17. }
  18. v = max
  19. if max == 0 {
  20. s = 0
  21. } else {
  22. s = (max - min)/max
  23. }
  24. if max == min {
  25. h = -1
  26. return
  27. }
  28.  
  29. if max == r {
  30. h = 60 * (g - b) / (max - min)
  31. }else if max == g {
  32. h = 60 * ((b - r) / (max - min)) + 120
  33. } else {
  34. h = 60 * ((r - g) / (max - min)) + 240
  35. }
  36. if h<0 {
  37. h += 360
  38. }
  39. return
  40. }
  41. func proc(r,g,b int32) {
  42. h,s,v := rgb2hsv(r,g,b)
  43. fmt.Println("RGB : HSV = %d,%d,%d : %d,%d,%d",r,g,b,h,s,v)
  44. }
  45. func main(){
  46. // Here your code !
  47. r := int32((65534 * 4)/65535)
  48. g := int32((0 * 4)/65535)
  49. b := int32((3 * 4)/65535)
  50. proc(r,g,b)
  51. r = int32((40440 * 4)/65535)
  52. g = int32((0 * 4)/65535)
  53. b = int32((3 * 4)/65535)
  54. proc(r,g,b)
  55. r = int32((6534 * 4)/65535)
  56. g = int32((6505 * 4)/65535)
  57. b = int32((3 * 4)/65535)
  58. proc(r,g,b)
  59. r = int32((65534 * 4)/65535)
  60. g = int32((6505 * 4)/65535)
  61. b = int32((35535 * 4)/65535)
  62. proc(r,g,b)
  63. r = int32((65534 * 4)/65535)
  64. g = int32((32765 * 4)/65535)
  65. b = int32((10000 * 4)/65535)
  66. proc(r,g,b)
  67. r = int32((65 * 4)/65535)
  68. g = int32((325 * 4)/65535)
  69. b = int32((20000 * 4)/65535)
  70. proc(r,g,b)
  71. r = int32((50000 * 4)/65535)
  72. g = int32((60000 * 4)/65535)
  73. b = int32((20000 * 4)/65535)
  74. proc(r,g,b)
  75. r = int32((60000 * 4)/65535)
  76. g = int32((60000 * 4)/65535)
  77. b = int32((60000 * 4)/65535)
  78. proc(r,g,b)
  79. r = int32((40000 * 4)/65535)
  80. g = int32((40000 * 4)/65535)
  81. b = int32((40000 * 4)/65535)
  82. proc(r,g,b)
  83. r = int32((30000 * 4)/65535)
  84. g = int32((30000 * 4)/65535)
  85. b = int32((30000 * 4)/65535)
  86. proc(r,g,b)
  87. r = int32((600 * 4)/65535)
  88. g = int32((600 * 4)/65535)
  89. b = int32((600 * 4)/65535)
  90. proc(r,g,b)
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement