Grafika Komputer (TIZ10) Primitive Drawing
Koordinat Canvas Delphi
Elemen Dasar Pemrograman Grafik TCanvas Bidang gambar. TForm mewarisi TCanvas, sehingga dapat properti dan method dari TCanvas dapat di eksekusi pada TForm TPen Pada TPen ini dapat ditentukan lebar garis, maupun warna garis yang akan digunakan untuk menggambar. properti pen pada canvas bertipe TPen TBrush Menentukan pola dan warna yang membentuk suatu bidang Properti Brush pada canvas bertipe TBrush.
Titik Pemberian titik pada canvas dilakukan dengan memberikan nilai warna pada property pixel pada koordinat tertentu Property Pixels[X, Y: Integer]: TColor Memberi warna pada pixel Canvas.Pixels[x,y] := warna; Mengambil informasi warna dari pixel variabelWarna := Canvas.Pixels[x,y];
Garis Untuk menggambar garis pada kanvas gunakan Method LineTo() Procedure LineTo(X, Y :Integer); Terlebih dahulu memindahkan PenPos ke titik awal (X,Y) dengan Method MoveTo() Procedure MoveTo(X, Y: Integer);
Contoh menggambar Garis procedure TFormUtama.Garis; Begin Canvas.Pen.Color := clRed; Canvas.Pen.Width := 5; Canvas.MoveTo(30,20); Canvas.LineTo(45,50); end; Garis warna merah dengan lebar garis 5 pixel akan di gambar mulai dari koodinat (30, 20) sampai koordinat (45,50)
Kotak Menggambar kotak dilakukan dengan method Rectangle() Procedure Rectangle(X1, Y1, X2, Y2: Integer); X1, Y1 adalah koordinat awal X2, Y2 adalah koordinat akhir
Contoh menggambar kotak procedure TFormUtama.Kotak; begin Canvas.Pen.Width := 5; Canvas.Pen.Color := clRed; Canvas.Rectangle(150,50,300,200); end; Akan menghasilkan kotak mulai dari posisi koordinat (150, 50) s/d (300,200)
Contoh menggambar kotak dengan brush procedure TFormUtama.KotakDenganBrush(); begin Canvas.Brush.Color := clBlue; Canvas.Brush.Style := bsCross; Canvas.Pen.Width := 5; Canvas.Pen.Color := clRed; Canvas.Rectangle(150,50,300,200); end;
Ellipse dan Lingkaran Method: Ellipse() X1, Y1 adalah koordinat awal Procedure Ellipse(X1, Y1, X2, Y2: Integer); X1, Y1 adalah koordinat awal X2, Y2 adalah koordinat akhir Pada dasarnya Elips dianggap digambar didalam suatu bidang segi empat, sehingga dapat dinyatakan dengan Rect Procedure Ellipse(const Rect: TRect);
Contoh Menggambar Elips procedure TFormUtama.Elips; begin Canvas.Pen.Width := 5; Canvas.Pen.Color := clRed; Canvas.Ellipse(450,50,550,200); end;
Contoh menggambar lingkaran procedure TFormUtama.Lingkaran; begin Canvas.Pen.Width := 5; Canvas.Pen.Color := clRed; Canvas.Ellipse(325,50,425,150); end;
Polygon Polygon adalah bentuk tertutup dari segmen-segmen garis yang dihasilkan dari menghubungkan sederetan titik-titik. Gunakan method Polygon(); Procedure Polygon(Points: array of TPoint); Parameter Points adalah kumpulan titik-titik koordinat pembentuk Polygon. Dibentuk dari Class TPoint. Dapat pula digambar dengan polyline, Polyline adalah sebuah garis yang disambung dengan garis lainnya. Polyline dapat dibuat dengan method LineTo()
Contoh menggambar Polygon procedure TFormUtama.Polygon; var P : Array[0..4] of TPoint; begin P[0] := Point(675,50); P[1] := Point(750,200); P[2] := Point(600,100); P[3] := Point(750,100); P[4] := Point(600,200); Canvas.Pen.Width := 2; Canvas.Pen.Color := clPurple; Canvas.Polygon(P); end;
Tugas 2 Buatlah sebuah program untuk menampilkan 10 buah lingkaran dengan warna yang berbeda-beda