예제 #1
0
        /// <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));
        }
예제 #2
0
        /// <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));
        }
예제 #3
0
 /// <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));
 }