Menu

Sabtu, 21 Mei 2016

24 Color

Dari namanya saja kita semua tau fungsi dari sebuah Color yaitu berfungsi untuk memanipulasi warna. Terdapat 3 warna dasar Red(merah), Green(Hijau), dan Blue(biru) atau yang lebih dikenal dengan singkatan RGB. Dari masing masing warna tersebut memiliki type data Byte(255), jadi Red(255), Green(255) dan Blue(255) sehingga memiliki total warna 255x255x255 = 16.581.375 warna. Selain RGB terdapat model CMYK(Cyan, Magenta, Yellow, and Key"black") dan CMYB(lebih dikenal dengan MYB "gene"). Berikut contoh perbedaan RGB Spectrum dan CMYK Spectrum.

Gambar 24.1

Disini kita tidak membahas CMYK dan MYB, kita akan membahas RGB. Dikarenakan RGB memiliki 16.581.375 warna, maka RGB dapat menghasilkan warna CMYK.

Contoh Soal
Buatlah project dengan nama cs_13color atau vb_13color, masukan 2 object Button, 1 object Text, dan 1 object Timer.  seperti gambar 24.2 dibawah ini.

 Gambar 24.2

Atur properties sebagai berikut.

Object Properties Value
button1 (Name) btnStart
Teks Start
button2 (Name) btnStop
Teks Stop
timer1 Enabled False
Interval 1

Sebelum mengetikan code ditiap masing masing object, kita deklarasikan terlebih dahulu variable untuk warna diluar object tujuannya agar tidak terubah atau terganggu saat kita jalan. Ketikan code berikut.
//C#
byte Red = 0;
byte Gren = 0;
byte Blue = 0;
byte jangka = 5;
Letakan code dibawah public partial class Form1 : Form seperti gambar 24.3 dibawah ini

Gambar 24.3

'VB
Dim Red As Byte = 0
Dim Green As Byte = 0
Dim Blue As Byte = 0
Dim jangka As Byte = 5
Letakan code tersebut dibawah Public Class Form1 seperti gambar 24.4 dibawah ini.

Gambar 24.4

Setelah mendeklarasikan, klik 2x button Start dan button Stop serta Timer1, kemudian ketikan code berikut.

//C#
private void btnStart_Click(object sender, EventArgs e){
    timer1.Enabled = true;
}

private void btnStop_Click(object sender, EventArgs e){
    timer1.Enabled = false;
}

private void timer1_Tick(object sender, EventArgs e){
    if (Red == 255){
  timer1.Enabled = false;
    }
    else if (Gren == 255){
  Red += jangka;
  Gren = 0;
    }
    else if (Blue == 255){
  Gren += jangka;
  Blue = 0;
    }
    else{
  Blue += jangka;
    }
    this.BackColor = Color.FromArgb(Red, Gren, Blue);
    this.Text = "R:" + Red + "-" + "G:" + Gren + "-" + "B:" + Blue + " = " + this.BackColor;
    textBox1.Text = Text;
}
'VB
Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles btnStart.Click
 Timer1.Enabled = true
End Sub

Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles btnStop.Click
 Timer1.Enabled = false
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
 if Red = 255 Then
 timer1.Enabled = false
 ElseIf Green = 255 Then
 Red += jangka
 Green = 0
 ElseIf Blue = 255 then
 Green += jangka
 Blue = 0
 Else
 Blue += jangka
 Me.BackColor = Color.FromArgb(Red, Green, Blue)
 Me.Text = "R:" & Red & "-" & "G:" & Green & "-" & "B:" & Blue & " = " & Me.BackColor.ToString 
 textBox1.Text = Text
 End If
End Sub
Kalau kita perhatikan nilai dari variable jangka adalah 5, bertujuan untuk mempercepat saja. anda bisa mengubah nilai jangka menjadi 1(satu) sehingga murni 16juta warna yang terlihat, tetapi membutuhkan waktu yang cukup lama.

Sekarang kita coba jalankan program kemudian tekan button Start untuk memulai. Jika ingin berhenti tekan button Stop. Hasilnya seperti Gambar 24.5 dibawah ini.

Gambar 24.5

Untuk membahas ColorPicker(mengambil warna dari sebuah gambar) akan kita bahas pada tutorial yang akan mendatang. Sampai disini sample dari Color, selanjutnya kita akan membahas Password Char.

Password: csvb2015.blogspot.co.id

Tidak ada komentar :

Posting Komentar