コード例 #1
0
        private void SetMySkinColor() //여러 색상 표기기법으로 피부 색상을 표시
        {
            //RGB
            labelR.Text = "" + skinColor.R;
            labelG.Text = "" + skinColor.G;
            labelB.Text = "" + skinColor.B;

            //CMYK
            skinColor_cmyk = setForm.RgbToCmyk(skinColor);
            labelC.Text    = "" + (skinColor_cmyk[0] * 100).ToString("F0") + "%"; //cyan *100
            labelM.Text    = "" + (skinColor_cmyk[1] * 100).ToString("F0") + "%"; //magenta *100
            labelY.Text    = "" + (skinColor_cmyk[2] * 100).ToString("F0") + "%"; //yellow *100
            labelK.Text    = "" + (skinColor_cmyk[3] * 100).ToString("F0") + "%"; //black *100


            //HSL
            skinColor_hsl = setForm.RgbToHsl(skinColor);
            labelHu.Text  = "" + skinColor_hsl[0].ToString("F0") + "º";         //H 색조
            labelSa.Text  = "" + (skinColor_hsl[1] * 100).ToString("F0") + "%"; //S *100 채도
            labelL.Text   = "" + (skinColor_hsl[2] * 100).ToString("F0") + "%"; //ㅣ *100

            //HSV
            skinColor_hsv = setForm.RgbToHsv(skinColor);
            //labelHu.Text = "" + skinColor_hsv[0].ToString("F0") + "º"; //H 색조
            //labelSa.Text = "" + (skinColor_hsv[1] * 100).ToString("F0") + "%"; //S *100 채도
            labelV.Text = "" + (skinColor_hsv[2] * 100).ToString("F0") + "%"; //ㅣ *100


            //HEX
            skinColor_hex = RgbToHex(skinColor);
            labelHex.Text = "#" + skinColor_hex;
        }
コード例 #2
0
        public double[,] Run() //입력된 데이터를 x, y구분하여 input_data에 2차원배열로 대입한다.
        {
            Bitmap        tempBitmap = new Bitmap(image);
            List <double> tempList   = new List <double>();

            int count = 0;

            for (int y = 0; y < image.Height; y++)
            {
                for (int x = 0; x < image.Width; x++)
                {
                    Color color = tempBitmap.GetPixel(x, y);
                    if (color.A != 0)
                    {
                        inputColor.Add(color);
                        double[] tempcmyk = setForm.RgbToCmyk(color);
                        double[] tempHsl  = setForm.RgbToHsl(color);

                        tempList.Add(tempHsl[2] * 100);
                        tempList.Add(tempHsl[1] * 100);

                        tempList.Add(tempcmyk[2] * 100);

                        count++;
                    }
                }
            }

            data = new double[count];

            for (int i = 0; i < count; i++)
            {
                data[i] = tempList[i];
            }

            inputData = new double[data.Length / INPUT_TYPE, INPUT_TYPE];


            int index = 0;

            for (int i = 0; i < data.Length / INPUT_TYPE; i++)
            {
                for (int k = 0; k < INPUT_TYPE; k++)
                {
                    inputData[i, k] = data[index];
                    index++;
                }
            }

            setForm.selectedColor = inputColor;

            return(inputData);
        }