code: public static int fromHSV(float h, float s, float v, int a) {
          float r = v;
          float g = v;
          float b = v;
  
          int i;
          float f, p, q, t;
  
          if (s == 0) {
              // achromatic (grey)
              int ri = (int) (r * 0xff);
              int gi = (int) (g * 0xff);
              int bi = (int) (b * 0xff);
  
              return getRGB(ri, gi, bi);
          }
  
          h /= 60;            // sector 0 to 5
          i = (int) Math.floor(h);
          f = h - i;            // factorial part of h
          p = v * (1 - s);
          q = v * (1 - s * f);
          t = v * (1 - s * (1 - f));
  
          switch (i) {
              case 0:
                  r = v;
                  g = t;
                  b = p;
                  break;
              case 1:
                  r = q;
                  g = v;
                  b = p;
                  break;
              case 2:
                  r = p;
                  g = v;
                  b = t;
                  break;
              case 3:
                  r = p;
                  g = q;
                  b = v;
                  break;
              case 4:
                  r = t;
                  g = p;
                  b = v;
                  break;
              // case 5:
              default:
                  r = v;
                  g = p;
                  b = q;
                  break;
          }
  
          int ri = (int) (r * 0xff);
          int gi = (int) (g * 0xff);
          int bi = (int) (b * 0xff);
  
          return getARGB(ri, gi, bi, a);
      }
docs: Method to transform from HSV to ARGB
  Source from: https://www.cs.rit.edu/~ncs/color/t_convert.html
  
  @param h - hue
  @param s - saturation
  @param v - brightness
  @param a - alpha
  @return rgb color