/// <summary> /// 色相バー描画 /// </summary> /// <param name="g">グラフィックオブジェクト</param> private void DrawHBar(Graphics g) { // 色配列を作成 var colors = new List <Color>(); for (int i = 0; i < HBarStepCount; i++) { colors.Add(ColorUtil.FromHSB(ColorUtil.HMAX / HBarStepCount * i, ColorUtil.SMAX, ColorUtil.BMAX)); } // 描画 DrawBar(g, HBar, colors, ColorUtil.GetHueStep(SelectedColor, HBarStepCount)); }
/// <summary> /// 明度バー描画 /// </summary> /// <param name="g">グラフィックオブジェクト</param> private void DrawBBar(Graphics g) { // 色配列を作成 var colors = new List <Color>(); for (int i = 0; i < BBarStepCount; i++) { colors.Add(ColorUtil.FromHSB(SelectedColor.GetHue(), SelectedColor.GetSaturation(), (float)i / BBarStepCount)); } // 描画 DrawBar(g, BBar, colors, ColorUtil.GetBrightnessStep(SelectedColor, BBarStepCount)); }
/// <summary> /// 補色を返す(彩度と明度はMAX) /// </summary> /// <param name="c">色データ</param> /// <returns>色データ</returns> public static Color GetComplementaryColor(Color c) { return(ColorUtil.FromHSB(c.GetHue() + (ColorUtil.HMAX / 2.0F), ColorUtil.SMAX, ColorUtil.BMAX)); }