<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      顏色轉換:HSB顏色 與 RGB顏色

      顏色轉換:HSB顏色 與 RGB顏色

              /// <summary>
              /// HSB轉RGB
              /// </summary>
              /// <param name="hue">色調,°,0~360</param>
              /// <param name="saturation">飽和度,%, 0~100</param>
              /// <param name="brightness">亮度,%, 0~100</param>
              /// <returns>返回:Color</returns>
              public Color HSB2RGB(float hue, int saturation, int brightness)
              {
                  double r = 0;
                  double g = 0;
                  double b = 0;
      
                  hue = hue % 360;
                  float sat = saturation / 100.0f;
                  float bri = brightness / 100.0f;
      
                  if (sat == 0)
                  {
                      r = g = b = bri;
                  }
                  else
                  {
                      // the color wheel consists of 6 sectors. Figure out which sector you're in.
                      double sectorPos = hue / 60.0;
                      int sectorNumber = (int)(Math.Floor(sectorPos));
                      // get the fractional part of the sector
                      double fractionalSector = sectorPos - sectorNumber;
      
                      // calculate values for the three axes of the color. 
                      double p = bri * (1.0 - sat);
                      double q = bri * (1.0 - (sat * fractionalSector));
                      double t = bri * (1.0 - (sat * (1 - fractionalSector)));
      
                      // assign the fractional colors to r, g, and b based on the sector the angle is in.
                      switch (sectorNumber)
                      {
                          case 0:
                              r = bri;
                              g = t;
                              b = p;
                              break;
                          case 1:
                              r = q;
                              g = bri;
                              b = p;
                              break;
                          case 2:
                              r = p;
                              g = bri;
                              b = t;
                              break;
                          case 3:
                              r = p;
                              g = q;
                              b = bri;
                              break;
                          case 4:
                              r = t;
                              g = p;
                              b = bri;
                              break;
                          case 5:
                              r = bri;
                              g = p;
                              b = q;
                              break;
                      }
                  }
                  int red = Convert.ToInt32(r * 255);
                  int green = Convert.ToInt32(g * 255);
                  int blue = Convert.ToInt32(b * 255); ;
      
                  return Color.FromArgb(Convert.ToByte(255), red, green, blue);
              }
              /// <summary>
              /// RGB轉HSB
              /// </summary>
              /// <param name="red"></param>
              /// <param name="green"></param>
              /// <param name="blue"></param>
              /// <param name="hue"></param>
              /// <param name="sat"></param>
              /// <param name="bri"></param>
              public void RGB2HSB(int red, int green, int blue, out double hue, out double sat, out double bri)
              {
                  double r = ((double)red / 255.0);
                  double g = ((double)green / 255.0);
                  double b = ((double)blue / 255.0);
      
                  double max = Math.Max(r, Math.Max(g, b));
                  double min = Math.Min(r, Math.Min(g, b));
      
                  hue = 0.0;
                  if (max == r && g >= b)
                  {
                      if (max - min == 0) hue = 0.0;
                      else hue = 60 * (g - b) / (max - min);
                  }
                  else if (max == r && g < b)
                  {
                      hue = 60 * (g - b) / (max - min) + 360;
                  }
                  else if (max == g)
                  {
                      hue = 60 * (b - r) / (max - min) + 120;
                  }
                  else if (max == b)
                  {
                      hue = 60 * (r - g) / (max - min) + 240;
                  }
      
                  sat = (max == 0) ? 0.0 : (1.0 - ((double)min / (double)max));
                  bri = max;
              }

       

      posted on 2022-03-24 10:34  云夢鴻  閱讀(893)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 免费看久久妇女高潮a| 亚洲av色一区二区三区| 亚洲精品成人7777在线观看| 99久久精品国产一区二区暴力| 欧洲无码一区二区三区在线观看| 国产精品国语对白露脸在线播放| 韩国精品一区二区三区在线观看| 女人喷液抽搐高潮视频| 九九热免费在线观看视频| 国产一区二区内射最近更新 | 欧美日韩国产亚洲沙发| 欧美激情一区二区三区在线| 日本伊人色综合网| 欧美人与动欧交视频| 色综合色综合色综合频道| AV毛片无码中文字幕不卡| 性欧美VIDEOFREE高清大喷水| 久久羞羞色院精品全部免费| 强奷乱码中文字幕| 日本一区二区三区在线 |观看| 日本不卡一区| 亚洲综合伊人五月天中文| 亚洲av日韩av永久无码电影| 亚洲人成电影在线天堂色| 男女一级国产片免费视频| 国产精品疯狂输出jk草莓视频| 久久精品国产免费观看频道| 国内精品卡一卡二卡三| 亚洲熟女乱一区二区三区| 亚洲国产良家在线观看| 免费AV片在线观看网址| 久播影院无码中文字幕| 99精品伊人久久久大香线蕉| 色悠久久网国产精品99| 久久精品一偷一偷国产| 久久久精品2019中文字幕之3| 2021国产精品一卡2卡三卡4卡| 女同亚洲精品一区二区三| 精品中文字幕人妻一二| 欧美成人一区二区三区不卡| 亚洲国产另类久久久精品|