48
Saturation160,128,96 = 25
8.10 Penyajian warna dengan bilangan bulat
Desimal Heksa
Ke tiga bytes itu menghadirkan suatu warna yang dapat dikombinasikan dalam 32-bit bilangan bulat, secara normal diwakili oleh notasi
hekadesimal. Sebagai contoh, RGB160,128,96 adalah 6080A0: • Red RR = 160 dec = A0 hex
• Green GG = 128 dec = 80 hex • Blue BB = 96 dec = 60 hex
Sebagai catatan kontanta warna mempunyai format BBGGRR bukan RRGGBB, dimana BB adalah byte dua digit heksa untuk biru, GG adalah byte untuk
hijau dan RR adalah byte untuk merah. Alasan penyimpanan dalam bilangan bulat dikarenakan pemakaian memori internal lebih kecil. Kontanta BBGGRR
akan disimpan dalam memori internal sebagai RRGGBB urutan terbalik, contoh 6080A0 secara internal disimpan sebagai A08060.
Dalam Visual Basic, RGB160,128,96 diwakili dengan H6080A0, dalam CC++ adalah 0x6080A0 dan dalam Delphi adalah 6080A0.
8.11 Menampilkan warna dalam aplikasi
Windows
Kita akan membuat sebuah program dalam Delphi untuk menampilkan warna tulisan dan warna latar belakangnya seperti tampak berikut :
1. Tempatkan Panel1, GroupBox1, GroupBox2.
2. Setiap GroupBox terdiri dari 3 Scrollbar, 3 label untuk warna, 3 label
untuk konstanta warna dalam desimal, 3 label untuk konstanta warna
49
dalam heksa dan 2 edit untuk konstanta kombinasi ketiga warna dasar desimal dan heksa.
3. Buat event Onchange untuk ketiga Scrollbar yang ada di Groupbox1, sbb
:
procedure TForm1.ScrollBar1ChangeSender: TObject; begin
warna latar belakang PANEL1.COLOR := RGBScrollBar1.Position,ScrollBar2.Position,ScrollBar3.Position;
komposisi warna dalam desimal Label7.Caption := IntToStrScrollBar1.Position;
Label8.Caption := IntToStrScrollBar2.Position; Label9.Caption := IntToStrScrollBar3.Position;
Edit1.Text := IntToStrPanel1.Color; komposisi warna dalam heksa
Label17.Caption := IntToHexScrollBar1.Position,2; Label18.Caption := IntToHexScrollBar2.Position,2;
Label19.Caption := IntToHexScrollBar3.Position,2; Edit3.Text := IntToHexPanel1.Color,6;
end;
4. Buat event Onchange untuk ketiga Scrollbar yang ada di Groupbox2, sbb
:
procedure TForm1.ScrollBar4ChangeSender: TObject; begin
warna tulisan PANEL1.FONT.COLOR :=
RGBScrollBar4.Position,ScrollBar5.Position,ScrollBar6.Position; komposisi warna dalam desimal
Label10.Caption := IntToStrScrollBar4.Position; Label11.Caption := IntToStrScrollBar5.Position;
Label12.Caption := IntToStrScrollBar6.Position; Edit2.Text := IntToStrPanel1.Font.Color;
komposisi warna dalam heksa Label20.Caption := IntToHexScrollBar4.Position,2;
Label21.Caption := IntToHexScrollBar5.Position,2; Label22.Caption := IntToHexScrollBar6.Position,2;
Edit4.Text := IntToHexPanel1.Font.Color,6; end;
5. Jalankan program Berikut contoh hasil program :
• Latarbelakang : Putih Latarbelakang : Magenta
• Tulisan : Merah Tulisan : Putih
50
8.12 Warna Warna Pastel