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; }
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); }