You are on page 1of 11

Laporan

Pada kali ini kita akan membuat calculator warna yang bisa convert warna mulai dari RGB ke CMYK , RGB ke CIE dan lain lain beikut merupakan code programnya :
using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms;

namespace Image_12{ public partial class Form1 : Form{ public Form1(){ InitializeComponent(); } private void button1_Click_1(object sender, EventArgs e){ double r = double.Parse(textBox1.Text.ToString()); double g = double.Parse(textBox2.Text.ToString()); double b = double.Parse(textBox3.Text.ToString()); if (comboBox1.SelectedIndex == 0) { double[] cie = RgbToCIE(r,g,b); textBox5.Text = cie[0].ToString(); textBox6.Text = cie[1].ToString(); textBox7.Text = cie[2].ToString(); }else if (comboBox1.SelectedIndex == 1) { double[] cmyk=RgbToCMYK(r,g,b); textBox5.Text = cmyk[0].ToString();textBox6.Text = cmyk[1].ToString(); textBox7.Text = cmyk[2].ToString();textBox8.Text = cmyk[3].ToString(); }else if (comboBox1.SelectedIndex == 2) { double[] HSV=RgbToHSV(r,g,b); textBox5.Text = HSV[0].ToString();textBox6.Text = HSV[1].ToString(); textBox7.Text = HSV[2].ToString(); }else if (comboBox1.SelectedIndex == 3) { double[] HSL=RgbToHSL(r,g,b); textBox5.Text = HSL[0].ToString();textBox6.Text = HSL[1].ToString(); textBox7.Text = HSL[2].ToString(); }else if (comboBox1.SelectedIndex == 4) { double[] rgb = CIEToRGB(r, g, b); if (rgb[0] != 0) rgb[0] = Math.Round(rgb[0], 0); if (rgb[1] != 0) rgb[1] = Math.Round(rgb[1], 0); if (rgb[2] != 0) rgb[2] = Math.Round(rgb[2], 0); textBox5.Text = rgb[0].ToString();textBox6.Text = rgb[1].ToString(); textBox7.Text = rgb[2].ToString(); }else if (comboBox1.SelectedIndex == 5) { double[] rgb = CIEToRGB(r, g, b); if (rgb[0] != 0) rgb[0]=Math.Round(rgb[0], 0); if (rgb[1] != 0) rgb[1]=Math.Round(rgb[1], 0); if (rgb[2] != 0) rgb[2]=Math.Round(rgb[2], 0); double[] cmyk = RgbToCMYK(rgb[0], rgb[1], rgb[2]); textBox5.Text = cmyk[0].ToString();textBox6.Text = cmyk[1].ToString(); textBox7.Text = cmyk[2].ToString();textBox8.Text = cmyk[3].ToString(); }else if (comboBox1.SelectedIndex == 6) { double[] rgb = CIEToRGB(r, g, b); if (rgb[0] != 0) rgb[0] = Math.Round(rgb[0], 0); if (rgb[1] != 0) rgb[1] = Math.Round(rgb[1], 0); if (rgb[2] != 0) rgb[2] = Math.Round(rgb[2], 0); double[] hsv = RgbToHSV(rgb[0], rgb[1], rgb[2]); textBox5.Text = hsv[0].ToString();textBox6.Text = hsv[1].ToString(); textBox7.Text = hsv[2].ToString(); }else if (comboBox1.SelectedIndex == 7) { double[] rgb = CIEToRGB(r, g, b); if (rgb[0] != 0) rgb[0] = Math.Round(rgb[0], 0); if (rgb[1] != 0) rgb[1] = Math.Round(rgb[1], 0); if (rgb[2] != 0) rgb[2] = Math.Round(rgb[2], 0); double[] hsl = RgbToHSL(rgb[0], rgb[1], rgb[2]); textBox5.Text = hsl[0].ToString();textBox6.Text = hsl[1].ToString(); textBox7.Text = hsl[2].ToString();

KALKULATOR WARNA

}else if (comboBox1.SelectedIndex == 8) { double k = double.Parse(textBox4.Text.ToString()); double[] RGB = CMYKToRgb(r, g, b, k);textBox5.Text = RGB[0].ToString(); textBox6.Text = RGB[1].ToString();textBox7.Text = RGB[2].ToString(); }else if (comboBox1.SelectedIndex == 9) { double k = double.Parse(textBox4.Text.ToString()); double[] RGB = CMYKToRgb(r, g, b, k);double[] CIE = RgbToCIE(RGB[0], RGB[1], RGB[2]); textBox5.Text = CIE[0].ToString();textBox6.Text = CIE[1].ToString(); textBox7.Text = CIE[2].ToString(); }else if (comboBox1.SelectedIndex == 10) { double k = double.Parse(textBox4.Text.ToString()); double[] RGB = CMYKToRgb(r, g, b, k);double[] hsv = RgbToHSV(RGB[0], RGB[1], RGB[2]); textBox5.Text = hsv[0].ToString();textBox6.Text = hsv[1].ToString(); textBox7.Text = hsv[2].ToString(); }else if (comboBox1.SelectedIndex == 11) { double k = double.Parse(textBox4.Text.ToString()); double[] RGB = CMYKToRgb(r, g, b, k); double[] hsl = RgbToHSL(RGB[0], RGB[1], RGB[2]); textBox5.Text = hsl[0].ToString();textBox6.Text = hsl[1].ToString(); textBox7.Text = hsl[2].ToString(); }else if (comboBox1.SelectedIndex == 12) { double[] rgb = HSVToRgb(r, g, b);textBox5.Text = rgb[0].ToString(); textBox6.Text = rgb[1].ToString(); textBox7.Text = rgb[2].ToString(); }else if (comboBox1.SelectedIndex == 13) { double[] rgb = HSVToRgb(r, g, b); double[] cmyk = RgbToCMYK(rgb[0]*255, rgb[1]*255, rgb[2]*255); textBox5.Text = cmyk[0].ToString();textBox6.Text = cmyk[1].ToString(); textBox7.Text = cmyk[2].ToString();textBox8.Text = cmyk[3].ToString(); }else if (comboBox1.SelectedIndex == 14) { double[] rgb = HSVToRgb(r, g, b); double[] CIE = RgbToCIE(rgb[0]*255, rgb[1]*255, rgb[2]*255); textBox5.Text = CIE[0].ToString();textBox6.Text = CIE[1].ToString(); textBox7.Text = CIE[2].ToString(); }else if (comboBox1.SelectedIndex == 15) { double[] rgb = HSVToRgb(r, g, b); double[] hsl = RgbToHSL(rgb[0]*255, rgb[1]*255, rgb[2]*255); textBox5.Text = hsl[0].ToString(); textBox6.Text = hsl[1].ToString(); textBox7.Text = hsl[2].ToString(); }else if (comboBox1.SelectedIndex == 16) { double[] rgb = HSLToRgb(r, g, b);textBox5.Text = rgb[0].ToString(); textBox6.Text = rgb[1].ToString();textBox7.Text = rgb[2].ToString(); }else if (comboBox1.SelectedIndex == 17) { double[] rgb = HSLToRgb(r, g, b); double[] cmyk = RgbToCMYK(rgb[0]*255, rgb[1]*255, rgb[2]*255); textBox5.Text = cmyk[0].ToString();textBox6.Text = cmyk[1].ToString(); textBox7.Text = cmyk[2].ToString();textBox8.Text = cmyk[3].ToString(); }else if (comboBox1.SelectedIndex == 18) { double[] rgb = HSLToRgb(r, g, b); double[] cie = RgbToCIE(rgb[0]*255, rgb[1]*255, rgb[2]*255); textBox5.Text = cie[0].ToString();textBox6.Text = cie[1].ToString(); textBox7.Text = cie[2].ToString(); }else if (comboBox1.SelectedIndex == 19) { double[] rgb = HSLToRgb(r, g, b); double[] hsv = RgbToHSV(rgb[0]*255, rgb[1]*255, rgb[2]*255); textBox5.Text = hsv[0].ToString(); textBox6.Text = hsv[1].ToString(); textBox7.Text = hsv[2].ToString(); }else if (comboBox1.SelectedIndex == 20){ double[] rgb = YCrCbtoRGB(r, g, b);textBox5.Text = rgb[0].ToString(); textBox6.Text = rgb[1].ToString(); textBox7.Text = rgb[2].ToString(); }else if (comboBox1.SelectedIndex == 21){ double[] YCrCB = RGBtoYCrCb(r, g, b); if (YCrCB[0] != 0) YCrCB[0] = Math.Round(YCrCB[0], 0); if (YCrCB[1] != 0) YCrCB[1] = Math.Round(YCrCB[1], 0); if (YCrCB[2] != 0) YCrCB[2] = Math.Round(YCrCB[2], 0); textBox5.Text = YCrCB[0].ToString(); textBox6.Text = YCrCB[1].ToString(); textBox7.Text = YCrCB[2].ToString(); }} private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (comboBox1.SelectedIndex == 0){ label3.Visible = false; textBox4.Visible = false;

KALKULATOR WARNA

textBox8.Visible = false; label9.Visible = false; label6.Text = "X";label7.Text = "Y"; label8.Text = "Z"; }else if (comboBox1.SelectedIndex == 1){ label3.Visible = false; textBox4.Visible = false; textBox8.Visible = true; label9.Visible = true; label6.Text = "C";label7.Text = "M";label8.Text = "Y";label9.Text = "K"; }else if (comboBox1.SelectedIndex == 2){ label3.Visible = false; textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false; label6.Text = "H"; label7.Text = "S";label8.Text = "V"; }else if (comboBox1.SelectedIndex == 3){ label3.Visible = false;textBox4.Visible = false; textBox8.Visible = false;label9.Visible = false; label6.Text = "H";label7.Text = "S";label8.Text = "L"; }else if (comboBox1.SelectedIndex == 4) { label3.Visible = false; textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false; label2.Text = "X";label4.Text = "Y";label5.Text = "Z"; label6.Text = "Red";label7.Text = "Green";label8.Text = "Blue"; }else if (comboBox1.SelectedIndex == 5){ label3.Visible = false;textBox4.Visible = false; textBox8.Visible = true; label9.Visible = true; label2.Text = "X";label4.Text = "Y";label5.Text = "Z";label6.Text = "C"; label7.Text = "M";label8.Text = "Y";label9.Text = "K"; }else if (comboBox1.SelectedIndex == 6){ label3.Visible = false;textBox4.Visible = false;textBox8.Visible = false; label9.Visible = false; label2.Text = "X";label4.Text = "Y"; label5.Text = "Z";label6.Text = "H";label7.Text = "S";label8.Text = "V"; }else if (comboBox1.SelectedIndex == 7) { label3.Visible = false;textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false;label2.Text = "X";label4.Text = "Y"; label5.Text = "Z";label6.Text = "H";label7.Text = "S";label8.Text = "V"; }else if (comboBox1.SelectedIndex == 8){ label3.Visible = true;textBox4.Visible = true; textBox8.Visible = false; label9.Visible = false;label2.Text = "C";label4.Text = "M";label5.Text = "Y"; label3.Text = "K";label6.Text = "R";label7.Text = "G";label8.Text = "B"; }else if (comboBox1.SelectedIndex == 9) { label3.Visible = true;textBox4.Visible = true; textBox8.Visible = false; label9.Visible = false; label2.Text = "C";label4.Text = "M";label5.Text = "Y"; label3.Text = "K";label6.Text = "X";label7.Text = "Y";label8.Text = "Z"; }else if (comboBox1.SelectedIndex == 10){ label3.Visible = true;textBox4.Visible = true;textBox8.Visible = false; label9.Visible = false;label2.Text = "C";label4.Text = "M";label5.Text = "Y"; label3.Text = "K";label6.Text = "H";label7.Text = "S";label8.Text = "V"; }else if (comboBox1.SelectedIndex == 11) { label3.Visible = true; textBox4.Visible = true; textBox8.Visible = false; label9.Visible = false;label2.Text = "C";label4.Text = "M";label5.Text = "Y"; label3.Text = "K";label6.Text = "H";label7.Text = "S";label8.Text = "L"; }else if (comboBox1.SelectedIndex == 12) { label3.Visible = false;textBox4.Visible = false;textBox8.Visible = false; label9.Visible = false;label2.Text = "H";label4.Text = "S"; label5.Text = "V";label6.Text = "R";label7.Text = "G";label8.Text = "B"; }else if (comboBox1.SelectedIndex == 13) { label3.Visible = false; textBox4.Visible = false;textBox8.Visible = true; label9.Visible = true; label2.Text = "H";label4.Text = "S";label5.Text = "V"; label6.Text = "C";label7.Text = "M";label8.Text = "Y";label9.Text = "K"; }else if (comboBox1.SelectedIndex == 14){ label3.Visible = false; textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false; label2.Text = "H";label4.Text = "S"; label5.Text = "V";label6.Text = "X";label7.Text = "Y";label8.Text = "Z"; }else if (comboBox1.SelectedIndex == 15) { label3.Visible = false; textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false;label2.Text = "H";label4.Text = "S"; label5.Text = "V";label6.Text = "H";label7.Text = "S";label8.Text = "L"; } else if (comboBox1.SelectedIndex == 16) { label3.Visible = false; textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false; label2.Text = "H";label4.Text = "S";label5.Text = "L"; label6.Text = "R";label7.Text = "G";label8.Text = "B";

KALKULATOR WARNA

}else if (comboBox1.SelectedIndex == 17) { label3.Visible = false; textBox4.Visible = false; textBox8.Visible = true; label9.Visible = true; label2.Text = "H";label4.Text = "S";label5.Text = "L"; label6.Text = "C";label7.Text = "M";label8.Text = "Y";label8.Text = "K"; }else if (comboBox1.SelectedIndex == 18){ label3.Visible = false;textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false;label2.Text = "H";label4.Text = "S"; label5.Text = "L";label6.Text = "X";label7.Text = "Y";label8.Text = "Z"; }else if (comboBox1.SelectedIndex == 19) { label3.Visible = false; textBox4.Visible = false; textBox8.Visible = false; label9.Visible = false; label2.Text = "H";label4.Text = "S"; label5.Text = "L";label6.Text = "H";label7.Text = "S";label8.Text = "V"; }else if (comboBox1.SelectedIndex == 20){ label3.Visible = false;textBox4.Visible = false;textBox8.Visible = false; label9.Visible = false;label2.Text = "R";label4.Text = "G"; label5.Text = "B";label6.Text = "Y";label7.Text = "Cr";label8.Text = "Cb"; }else if (comboBox1.SelectedIndex == 21) { label3.Visible = false;textBox4.Visible = false;textBox8.Visible = false; label9.Visible = false;label2.Text = "Y";label4.Text = "Cr"; label5.Text = "Cb";label6.Text = "Red";label7.Text = "Green";label8.Text = "Blue"; } }public double[] RgbToCIE(double r, double g, double b) { double X = 0.723 * r + 0.273 * g + 0.166 * b; double Y = 0.265 * r + 0.717 * g + 0.008 * b; double Z = 0.000 * r + 0.008 * g + 0.824 * b; double x = X / (X + Y + Z); double y = Y / (X + Y + Z); double z = 1 - X - Y; double[] cie = { x, y, z }; return cie;

} public double[] CIEToRGB(double x, double y, double z) { double var_X = x / 100, var_Y = y / 100, var_Z = z / 100; double var_R = var_X * 3.2406 + var_Y * -1.5372 + var_Z * -0.4986; double var_G = var_X * -0.9689 + var_Y * 1.8758 + var_Z * 0.0415; double var_B = var_X * 0.0557 + var_Y * -0.2040 + var_Z * 1.0570; if ( var_R > 0.0031308 ) var_R = 1.055 * ( Math.Pow(var_R ,( 1 / 2.4 )) ) - 0.055; else var_R = 12.92 * var_R; if ( var_G > 0.0031308 ) var_G = 1.055 * ( Math.Pow(var_G , ( 1 / 2.4 )) ) - 0.055; else var_G = 12.92 * var_G; if (var_B > 0.0031308) var_B = 1.055 * (Math.Pow(var_B , (1 / 2.4)) ) - 0.055; else var_B = 12.92 * var_B; double R = var_R * 255; double G = var_G * 255; double B = var_B * 255; double[] rgb = { R, G, B }; return rgb; }public double[] RgbToCMYK(double r, double g, double b) { double Rx = r / 255, Gx = g / 255, double Bx = b / 255; double double double double k = 1 - max(Rx, Gx, Bx); c = (1 - Rx - k) / (1 - k); m = (1 - Gx - k) / (1 - k); y = (1 - Bx - k) / (1 - k);

double[] cmyk = { c, m, y, k }; return cmyk; } public double[] CMYKToRgb(double c, double m, double y, double k) { double R = 255 * (1 - c) * (1 - k); double G = 255 * (1 - m) * (1 - k); double B = 255 * (1 - y) * (1 - k);

KALKULATOR WARNA

double[] rgb = { R, G, B, }; return rgb; } public double[] RgbToHSV(double r, double g, double b) { double Rx = r / 255;, Gx = g / 255, Bx = b / 255; double Cmax = max(Rx, Gx, Bx); double Cmin = min(Rx, Gx, Bx); double d = Cmax - Cmin; double h = 0; if (Cmax == Rx) h = 60 * ((Gx - Bx) / d); if (Cmax == Gx) h = 60 * ((Bx - Rx) / d + 2); if (Cmax == Bx) h = 60 * ((Rx - Gx) / d + 4); //double h = rgb.GetHue(); double s = 0; if (d == 0) s = 0; else s = d / Cmax; //double s = rgb.GetSaturation(); double v = Cmax; double[] hsv = { h, s, v }; return hsv; } public double[] HSVToRgb(double ha, double sa, double va) { double h = ha; double s = sa; double v = va; double C = v * s; double X = C * (1 - (Math.Abs(h / 60)%2-1)); double m = v - C; double r = 0, g = 0, b = 0; if (h >= 0 && h < 60) { r = C; g = X; b = 0; } else if (h >= 60 && h < 120){ r = X; g = C; b = 0; } else if (h >= 120 && h < 180){ r = 0; g = C; b = X; } else if (h >= 180 && h < 240){ r = 0; g = X; b = C; } else if (h >= 240 && h < 300){ r = X; g = 0; b = C; } else if (h >= 300 && h < 360){ r = C; g = 0; b = X; } r = r + m; g = g + m; b = b + m; double[] hasil = { r, g, b }; return hasil; } public double[] RgbToHSL(double r, double g, double b) { double Rx = r / 255, Gx = g / 255, Bx = b / 255; double Cmax = max(Rx, Gx, Bx); double Cmin = min(Rx, Gx, Bx); double d = Cmax - Cmin; double h = 0; if (Cmax == if (Cmax == if (Cmax == //double h = Rx) h = 60 * ((Gx - Bx) / d); Gx) h = 60 * ((Bx - Rx) / d + 2); Bx) h = 60 * ((Rx - Gx) / d + 4); rgb.GetHue();

double s = 0; if (d == 0) s = 0; else s = d / Cmax; //double s = rgb.GetSaturation(); double l = (Cmax + Cmin) / 2; double[] hsl = { h, s, l };

KALKULATOR WARNA

return hsl; } public double[] HSLToRgb(double ha, double sa, double la) { double h = ha; double s = sa; double l = la; double C = (1 - Math.Abs(2 * l - 1)) * s; double X = C * (1 - (Math.Abs(h / 60)%2-1)); double m = l - C / 2; double r = 0, g = 0, b = 0; if (h >= 0 && h < 60) { r = C; g = X; b = 0; } else if (h >= 60 && h < 120) { r = X; g = C; b = 0; } else if (h >= 120 && h < 180) {r = 0; g = C; b = X; } else if (h >= 180 && h < 240) {r = 0; g = X; b = C; } else if (h >= 240 && h < 300) {r = X; g = 0; b = C; } else if (h >= 300 && h < 360) {r = C; g = 0; b = X; } r = r + m; g = g + m; b = b + m; double[] hasil = { r, g, b }; return hasil;

} public double max(double r, double g, double b) { double max = 0; if (r > max) max = r; if (g > max) max = g; if (b > max) max = b; return max; } public double min(double r, double g, double b) { double min = 255; if (r < min) min = r; if (g < min) min = g; if (b < min) min = b; return min; } public double[] RGBtoYCrCb(double r, double g, double b) { double y = (0.257 * r) + (0.504 * g) + (0.098 * b) + 16; double cr = (0.439 * r) - (0.368 * g) - (0.071 * b) + 128; double cb = -(0.148 * r) - (0.291 * g) + (0.439 * b) + 128; Double[] ycrcb = { y, cr, cb }; return ycrcb;

} public double[] YCrCbtoRGB(double y, double cr, double cb) { double r = (1.164 * (y - 16)) + (1.596 * (cr - 128)); double g = (1.164 * (y - 16)) - (0.813 * (cr - 128)) - (0.391 * (cb - 128)); double b = (1.164 * (y - 16)) + (2.018 * (cb - 128)); Double[] rgb = { r, g, b }; return rgb;

} public void setColor(object sender, EventArgs e) { Bitmap objBitmap1 = new Bitmap(1,1); double R = 0, G=0, B=0, K=0; double[] color = new double[3]; Color new_w; if (textBox1.Text.Trim().Length!=0){R = double.Parse(textBox1.Text.ToString());} if (textBox2.Text.Trim().Length!=0){G = double.Parse(textBox2.Text.ToString());} if (textBox3.Text.Trim().Length!=0){B = double.Parse(textBox3.Text.ToString());} if (textBox4.Text.Trim().Length!=0){K = double.Parse(textBox4.Text.ToString());} if (comboBox1.SelectedIndex == 4 || comboBox1.SelectedIndex == 5 || comboBox1.SelectedIndex == 6 || comboBox1.SelectedIndex == 7) { color = CIEToRGB(R, G, B); if (color[0] != 0) color[0] = Math.Round(color[0], 0); if (color[1] != 0) color[1] = Math.Round(color[1], 0); if (color[2] != 0) color[2] = Math.Round(color[2], 0); if (color[0] <= 0) color[0] = 0;

KALKULATOR WARNA

} }

if (color[1] <= 0) color[1] = 0; if (color[2] <= 0) color[2] = 0; if (color[0] > 255) color[0] = 255; if (color[1] > 255) color[1] = 255; if (color[2] > 255) color[2] = 255; new_w = Color.FromArgb((int)color[0], (int)color[1], (int)color[2]); }else if (comboBox1.SelectedIndex == 8 || comboBox1.SelectedIndex == 9 || comboBox1.SelectedIndex == 10 || comboBox1.SelectedIndex == 11){ color = CMYKToRgb(R, G, B, K); new_w = Color.FromArgb((int)color[0], (int)color[1], (int)color[2]); }else if (comboBox1.SelectedIndex == 12 || comboBox1.SelectedIndex == 13 || comboBox1.SelectedIndex == 14 || comboBox1.SelectedIndex == 15) { color = HSVToRgb(R, G, B); new_w = Color.FromArgb((int)color[0]*255, (int)color[1]*255, (int)color[2]*255); }else if (comboBox1.SelectedIndex == 16 || comboBox1.SelectedIndex == 17 || comboBox1.SelectedIndex == 18 || comboBox1.SelectedIndex == 19){ color = HSLToRgb(R, G, B); new_w = Color.FromArgb((int)color[0]*255, (int)color[1]*255, (int)color[2]*255); }else if (comboBox1.SelectedIndex == 21) { color = YCrCbtoRGB(R, G, B); if (color[0] != 0) color[0] = Math.Round(color[0], 0); if (color[1] != 0) color[1] = Math.Round(color[1], 0); if (color[2] != 0) color[2] = Math.Round(color[2], 0); if (color[0] <= 0) color[0] = 0; if (color[1] <= 0) color[1] = 0; if (color[2] <= 0) color[2] = 0; if (color[0] > 255) color[0] = 255; if (color[1] > 255) color[1] = 255; if (color[2] > 255) color[2] = 255; new_w = Color.FromArgb((int)color[0], (int)color[1], (int)color[2]); }else{ new_w = Color.FromArgb((int)R, (int)G,(int) B); } objBitmap1.SetPixel(0, 0, new_w); pictureBox1.Image = objBitmap1; }

Keterangan program : didalm program diatas menggunakan satu class saja yang didalamya terdapat beberapa method berikut adalah keterangan singat dari method method yang terdapat dalam class tersebut : Button_Click1 merupakan method action yang berguna untuk melakukan eksekusi perintah sesuia pilihan dari combo box. Kemudian sekaligus mengeset hasil perhitungan ke text box. comboBox1_SelectedIndexChanged method yang berguna untuk megeset visible dan non visible dan juga set label sesuai dengan pilihan combo box. RGBToCIE method yang berguna untuk menggubah format RGB ke CIE , dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. CIEToRGB method yang berguna untuk menggubah format CIE ke RGB, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. RGBToCMYK method yang berguna untuk menggubah format RGB ke CMYK, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. CMYKToRGB method yang berguna untuk menggubah format CMYK ke RGB, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. RGBToHSV method yang berguna untuk menggubah format RGB ke HSV, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga.
KALKULATOR WARNA 7

HSVToRGB method yang berguna untuk menggubah format HSV ke RGB, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. RGBToHSL method yang berguna untuk menggubah format RGB ke HSL, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. HSLToRGB method yang berguna untuk menggubah format HSL ke RGB, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. YCrCbToRGB method yang berguna untuk menggubah format YCrCB ke RGB, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. RGBToYCrCb method yang berguna untuk menggubah format RGB ke YCrCB, dimana method ini mempunyai 3 parameter yang bertipe double dan mengembalikan berupa array yang bertipe double juga. Max method yang berguna untuk mencari nilai yang paling besar. Min method yang aberguna untuk mencari nilai yang paling kecil. setColor adalah method yang berguna untuk mengeset nilai warna yang di inputkan ke picture box Ourput dan analisa: RGB to CIE Pada gambar disamping merupakan hasil convert dari RGB ke CIE dimana prosesnya adalah di kalikan nilai RGB dikalikan dengan nilai metric berikut :
0.723 0.273 0.166 0.265 0.717 0.008

Kemudian melakukan perhitungan berikut dan mendapat haril x = X / (X + Y + Z), y = Y / (X + Y + Z), z = 1 - X Y kemudian meghasilkan format CIE yang kita ingginkan. RGB to CMYK Pada gambar disamping merupakan hasil convert dari RGB ke CMYK dimana prosennya adalah masingmasing nilia RGB dibagi dengan 255, kemudian mencari nilai maksimum dari ketiga angka tersebut kemudian 1 dikurangi hasil max hasil nilai k kemudian melakukan operasi c = (1 - Rx - k) / (1 - k), m = (1 - Gx - k) / (1 - k), y = (1 - Bx - k) / (1 - k) kemudian meghasilkan format CMYK yang kita ingginkan.

RGB to HSV

KALKULATOR WARNA

Pada gambar disamping merupakan hasil convert dari RGB ke HSV dimana prosesnya adalah

Dari perhitugan itu menghasilkan nilia HSV yang sesui dengan keinginan kita. RGB to HSL Pada gambar disamping merupakan hasil convert RGB ke HSL dimana prosesnya adalah sebagai berikut :

CIE to RGB Pada gambar disapmping merupakan hasil convert CIE ke RGB dimana nilai dari CIE tersebut dikalikan dengan metric berikut :
3.2406 -0.9689 -1.5372 -0.4986 1.8758 0.0415

Kemudian hasil perkalian itu dicek jika 0.0031308 maka melakukan 1.055* nilai element RGB yang sudah di kalikan dengan metric tadi dipangkatkan (1/2.4) -0.055 Kemudian jika tidak melakukan operasi 12.92 * nilai element RGB yang sudah di kalikan dengan metric tadi itu dilakuna sampai seluru element RGB dicek setelahh dicek setiap element dikalikan 255. Kemudian untuk converter CIE ke CMYK , CIE ke HSV , CIE ke HSL langkah awalnya adalah nilai awal kita convert ke RGB terlebih dahulu kemudian kita convert ke nilai tujuan , cara konvertnya sesuai yang saya jelaskan diatas tadi.

CMYK to RGB
KALKULATOR WARNA 9

Pada gambar disamping merupakan hasil convert CMYK ke RGB dimana prosesnya sebagia berikut R = 255 * (1-C)*(1-K), G= 255 * (1-M)*(1-K), B = 255 * (1-Y)*(1-K) Dari perhitugan itu menghasilkan nilia RGB sesui inputan dari CMYK . Kemudian untuk converter CMYK ke CIE , CMYK ke HSV , CMYK ke HSL langkah awalnya adalah nilai awal kita convert ke RGB terlebih dahulu kemudian kita convert ke nilai tujuan , cara konvertnya sesuai yang saya jelaskan diatas tadi. HSV to RGB Pada gambar di samping merupakan hasil convert dari HSV ke RGB dimana prosesnya sehingga menghasilkan nilai sesui gambar a/

Kemudian untuk yang. Kemudian untuk converter HSV ke CIE , HSV ke CMYK , HSV ke HSL langkah awalnya adalah nilai awal kita convert ke RGB terlebih dahulu kemudian kita convert ke nilai tujuan , cara konvertnya sesuai yang saya jelaskan diatas tadi. HSL to RGB Pada gambar di samping merupakan hasil convert dari HSL ke RGB dimana prosesnya sehingga menghasilkan nilai sesui gambar a/

Kemudian untuk converter HSL ke CIE , HSL ke CMYK , HSL ke HSV langkah awalnya adalah nilai awal kita convert ke RGB terlebih dahulu kemudian kita convert ke nilai tujuan , cara konvertnya sesuai yang saya jelaskan diatas tadi. RGB to YCrCB
KALKULATOR WARNA 1 0

Pada gambar disamping merupakan hasil convert RGB ke YCrCB dimana prosesnya sebagai berikut sehingga menghasilkan seperti itu adalah kita kalikan tiap element RGB ke metric berikut :
0.257 0.504 0.098 0.439 -0.368 -0.071 -0.148 -0.291 0.439

Kemudian hasil perkalian untuk element y kita tamba 16 kemudian untuk elemant Cr dan Cb kita tambah 128.

YCrCB to RGB Pada gambar disamping merupakan hasil convert YCrCB ke RGB dimana prosenya sebagai berikut sehingga menghasilkan nilai sesui gambar disamping adalah
r = (1.164 *(y - 16))+(1.596 * (cr - 128)); g = (1.164*(y - 16)) - (0.813 * (cr - 128)) - (0.391 * (cb - 128)); b = (1.164*(y- 16)) + (2.018 * (cb - 128));

oprasi diatas lah yang mebghasilkan haasilsesui dengan gambar disamping .

Kesimpulan : Format warna warna ada banyak macamnya seperti RGB yang biasa kita pakai sampai format CIE, CMYK, HSV, HSL, dan YCrCB. Semuanya format punya keungulan masing. Sehingga kita bisa menggunkanya sesuia dengan kebutuhan kita.

KALKULATOR WARNA

1 1

You might also like