panduan pembelajaran kgrafik sinus dan konsinus 3. parabola 4. spiral 5. pola standar 6. spiral 7....

35
Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 1 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata PANDUAN PEMBELAJARAN dan PENYELSAIAN SOAL-SOAL KOMPUTER GRAFIK OLEH : IR. HASANUDDIN SIRAIT, MT CREATE TABLE Emp ( eid INTEGER, nename CHAR(10), age INTEGER, salary REAL, PRIMARY KEY (eid) ) INSERT INTO Emp (eid, ename, age, salary) VALUES (101, ‘Gabriel Sirait’, 32, 15000) UPDATE Emp E SET E.salary = E.salary * 1.10 DELETE FROM Dept D WHERE D.dname = ’Sirait’

Upload: dokhue

Post on 08-May-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 1 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

PANDUAN PEMBELAJARAN dan PENYELSAIAN SOAL-SOAL

KOMPUTER GRAFIK

OLEH : IR. HASANUDDIN SIRAIT, MT

CREATE TABLE Emp ( eid INTEGER, nename CHAR(10), age INTEGER, salary REAL, PRIMARY KEY (eid) )

INSERT INTO Emp (eid, ename, age, salary) VALUES (101, ‘Gabriel Sirait’, 32, 15000)

UPDATE Emp E SET E.salary = E.salary * 1.10

DELETE FROM Dept D WHERE D.dname = ’Sirait’

Page 2: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 2 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

PENDAHULUAN

Panduan ini akan di jelas cara menghitung dan membuat suatu grafik

dengan menggunakan bahasa pemrograman Delphi 7.0. Kelebihan dari

pemrograman GUI Delphi 7.0 cukup banyak fasilitas yang tersedia karena

dipuruntukkan untuk logika matematik Cira Grafik.

Uraian :

Memberikan pengetahuan kepada mahasiswa mengenai konsep dasar dan

design Citra Grafik dalam GUI.

komputer.

Sasaran

Bisa mendesign dan membangun suatu program Citra Grafik berbasis GUI

secara Logika matematik melalui bahasa pemrograman Delphi.

Page 3: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 3 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Materi :

- POLIGON BERATURAN

- PERPUTARAN ELIPS

- SEGI EMPAT SUDUT DAN ELIPS

- Latihan

1. Regions Combine

2. Grafik Sinus dan Konsinus

3. Parabola

4. Spiral

5. Pola Standar

6. Spiral

7. Text Terbenam dan Timbul

8. Cermin

9. Scan ke warna Text dari Gambar

10. MenggambarText

11. Teks dengan efek Outline

Page 4: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 4 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

1. POLIGON BERATURAN

Poligon beraturan adalah suatu grafik dengan bentuk poligon dan dapat di

tentukan bentuk dengan sisi sama panjang, conto bentuk segitiga, segi empat

jajaran genjang, segi lima, dst.

Langkah membuat adalah :

a. Buat suatu form

b. Klik PainBox untuk tempat gambar yang ada pada menu sistem

c. Buat suatu input data contohnya SpinEdit

d. Buat Button untuk mengaktifkan tampilan dan button keluar

e. Sehingga tampilan seperti berikut :

f. Ketik Program berikut pada Gambar Poligon:

procedure TForm1.SpeedButton1Click(Sender: TObject); var a, n, count: Integer; c: real; begin with PaintBox1.Canvas do begin Brush.Color:=clBtnFace; Rectangle(-1, -1, Width+1, Height+1); Pen.Color:=clBlack; end; {--jumlah sisi--} count:=SpinEdit1.Value; {--sudut antar sisi--} c:=2*PI/SpinEdit1.Value; R:=PaintBox1.Width div 2; CenterX:=PaintBox1.Width div 2; CenterY:=PaintBox1.Height div 2; {--titik-titik poligon--} for a:=0 to count-1 do begin P[a].x:=CenterX-Round(R*cos(a*c+PI/2));

Page 5: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 5 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

P[a].y:=CenterY-Round(R*sin(a*c+PI/2)); end; PaintBox1.Canvas.Polygon(Slice(P, count)); end;

PENJELASAN : Procedure dari Gambar Poligon dengan nama Button : “SpeedButton1” procedure TForm1.SpeedButton1Click(Sender: TObject); Pendefinisian variable private yang digunakan yaitu a, n, count yang bertipe Integer :

var a, n, count: Integer; c: real;

Pendefinisian bahwa gambar akan diletakkan pada PaintBox dengan nama canvas “PaintBox1”

begin with PaintBox1.Canvas do

Proses pada canvas PainBox, format pemberian warna adalah : Brush.Color:=clBtnFace, bentuk gambar adalah kotak formtanya pemberian instruksi adalah Rectangle(x1, y1, x2, y2, warna garis Pen.Color adalah clBlack :

begin Brush.Color:=clBtnFace; Rectangle(-1, -1, Width+1, Height+1); Pen.Color:=clBlack; end;

Proses penentukan jumlah garis yang disimpan dalam variable Count dari nilai SpinEdit :

{--jumlah sisi--} count:=SpinEdit1.Value;

Proses penentukan perhitungan sudut setiap sisi yang disimpan dalam variable c:

{--sudut antar sisi--} c:=2*PI/SpinEdit1.Value;

Proses penentukan perhitungan pembagian 2 dari lebar dan panjang yang disimpan dalam variable CenterX & CenterY, yang didefinisikan pada public diatas:

R:=PaintBox1.Width div 2; CenterX:=PaintBox1.Width div 2; CenterY:=PaintBox1.Height div 2;

Proses menarik garis dari x1,y2 ke x2,y2 dengan sejumlah titik-titik : {--titik-titik poligon--} for a:=0 to count-1 do begin P[a].x:=CenterX-Round(R*cos(a*c+PI/2)); P[a].y:=CenterY-Round(R*sin(a*c+PI/2)); end;

Page 6: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 6 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

PaintBox1.Canvas.Polygon(Slice(P, count)); end;

g. Ketik Program berikut pada Button keluar: procedure TForm1.Button1Click(Sender: TObject); begin close; end;

Listing program selengkapnya adalah :

unit RegularPoligon;

{---------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {---------------------------------------------------} interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls, Buttons, Spin, ExtCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpinEdit1: TSpinEdit; Label2: TLabel; SpeedButton1: TSpeedButton; Button1: TButton; procedure SpinEdit1Change(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; R: Integer; Diketik CenterX, CenterY: Integer; P: array[Byte] of TPoint; implementation {$R *.DFM} procedure TForm1.SpeedButton1Click(Sender: TObject); var a, n, count: Integer; c: real; begin

Page 7: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 7 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

with PaintBox1.Canvas do begin Brush.Color:=clBtnFace; Rectangle(-1, -1, Width+1, Height+1); Diketik Pen.Color:=clBlack; end; {--jumlah sisi--} count:=SpinEdit1.Value; {--sudut antar sisi--} c:=2*PI/SpinEdit1.Value; R:=PaintBox1.Width div 2; CenterX:=PaintBox1.Width div 2; CenterY:=PaintBox1.Height div 2; {--titik-titik poligon--} for a:=0 to count-1 do begin P[a].x:=CenterX-Round(R*cos(a*c+PI/2)); P[a].y:=CenterY-Round(R*sin(a*c+PI/2)); end; PaintBox1.Canvas.Polygon(Slice(P, count)); end; procedure TForm1.SpinEdit1Change(Sender: TObject); begin with SpinEdit1 do begin if Value>MaxValue then Value:=Maxvalue; Diketik if Value<Minvalue then Value:=MinValue; end; SpeedButton1Click(Sender); end; procedure TForm1.Button1Click(Sender: TObject); begin close; Diketik end; end.

Hasil Program selengkapnya adalah :

1. Tentukan jumlah sisi

2. Klik Button Gambar Poligon

3. Keluar

3. Gambar Poligon 5 sisi

Page 8: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 8 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

2. PERPUTARAN ELIPS

Elips adalah suatu gambar lingkaran dengan jari-jari kiri=kanan, atas= bawah.

Langkah membuat adalah :

a. Buat suatu form

b. Klik PainBox untuk tempat gambar yang ada pada menu sistem

c. Buat suatu display text contohnya dapat memalui GroupBox untuk

menampilkan hasil rotasi

d. Buat suatu input data contohnya TackBar agardapat dipindah-pindahkan

e. Buat suatu Button untuk dapat mengkuli keluar

f. Ketik Program berikut pada TrackBar :

procedure TForm1.TrackBar1Change(Sender: TObject); begin Angle:=TrackBar1.Position; GroupBox1.Caption:='Rotation Angle: '+IntToStr(Angle); Application.ProcessMessages; DrawRotatedEllipse; end;

Penjelasan program TrackBar

Procedure untuk TrackBar1: procedure TForm1.TrackBar1Change(Sender: TObject);

Mengambil position dari TrackBar1 yang dipindahkan ke variabel Angle begin Angle:=TrackBar1.Position;

Menampilkan nilai dari Angle dan ditampilkan setelah Rotation Angle: pada GroupBox1 :

GroupBox1.Caption:='Rotation Angle: '+IntToStr(Angle);

Page 9: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 9 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Mengaktifkan proses aplikation pesan: Application.ProcessMessages;

Membentuk perpotaran dalam bentuk DrawRotedEllipse: DrawRotatedEllipse; end;

Penjelasan program Aritmatik

Proses aritmatik berada pada form, agar program langsung menjalankan program jika running ok, listingnya adalah sebagai berikut :

procedure TForm1.DrawRotatedEllipse; var CenterX, CenterY: Integer; RadiusX, RadiusY: Integer; cs, sn, x, y: real; sdt: real; n: Integer; FP: array[0..360] of TPoint; begin {--clear canvas--} with PaintBox1.Canvas do begin Pen.Color:=Color; Brush.Color:=Color; Rectangle(0, 0, PaintBox1.Width, PaintBox1.Height); end; {--initialization--} RadiusX:=PaintBox1.Width div 2; RadiusY:=PaintBox1.Height div 3; CenterX:=PaintBox1.Width div 2; CenterY:=PaintBox1.Height div 2; sdt:=Angle*PI/180; cs:=cos(sdt); sn:=sin(sdt); for n:=0 to 360 do begin x:=RadiusX*cos(n*PI/180); y:=RadiusY*sin(n*PI/180); FP[n].x:=CenterX+Round(x*cs+y*sn); FP[n].y:=CenterY+Round(-sn*x+cs*y); end; PaintBox1.Canvas.Pen.Color:=clBlack; PaintBox1.Canvas.Brush.Style:=bsClear; PaintBox1.Canvas.Polygon(FP); end;

Procedure DrawRotatedElips

procedure TForm1.DrawRotatedEllipse;

Pendefinisian variable :

var CenterX, CenterY: Integer; RadiusX, RadiusY: Integer; cs, sn, x, y: real; sdt: real;

Page 10: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 10 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

n: Integer; FP: array[0..360] of TPoint;

Proses Menghubungkan ke PointBox1 gambar yangakan di tampilkan : begin {--clear canvas--} with PaintBox1.Canvas do begin

Pemberian warna Garis, warna gambar Pen.Color:=Color; Brush.Color:=Color;

Pembentukan suatu kotak (c1,y1,x2,y2) Rectangle(0, 0, PaintBox1.Width, PaintBox1.Height); end;

Proses perhitungan RadiusX1 yang dibagi 2 agar ditengah, RadiusY1 yang dibagi 3 agar gambar terlihat ditengah PaintBox1untuk sumbu x dan y :

{--initialization--} RadiusX:=PaintBox1.Width div 2; RadiusY:=PaintBox1.Height div 3; CenterX:=PaintBox1.Width div 2; CenterY:=PaintBox1.Height div 2;

Proses perhitungan sudut Angle 8 PI (3.14)/180 yang disimpan di variable sdr, mudian mencari cosnya dan sinusnya

sdt:=Angle*PI/180; cs:=cos(sdt); sn:=sin(sdt);

Proses Pencetakan garis dalam bentuk titik sampai sudut 360 : for n:=0 to 360 do begin x:=RadiusX*cos(n*PI/180); y:=RadiusY*sin(n*PI/180); FP[n].x:=CenterX+Round(x*cs+y*sn); FP[n].y:=CenterY+Round(-sn*x+cs*y); end;

Proses Pencetakan pencetakan warna canvas gambar: PaintBox1.Canvas.Pen.Color:=clBlack; PaintBox1.Canvas.Brush.Style:=bsClear; PaintBox1.Canvas.Polygon(FP);

h. Ketik Program berikut pada Button keluar:

procedure TForm1.Button1Click(Sender: TObject); begin close; end;

Page 11: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 11 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Listing program selengkapnya adalah :

unit RotatedEllipse; {------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait} {-----------------------------------------------} interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Buttons, StdCtrls, Spin, ExtCtrls, ComCtrls, InvokeRegistry, WSDLIntf, SOAPPasInv, SOAPHTTPPasInv; type TForm1 = class(TForm) PaintBox1: TPaintBox; TrackBar1: TTrackBar; Label2: TLabel; GroupBox1: TGroupBox; Shape1: TShape; Button1: TButton; procedure TrackBar1Change(Sender: TObject); procedure FormPaint(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } procedure DrawRotatedEllipse; end; var Form1: TForm1; diketik Angle: Integer; implementation {$R *.DFM} procedure TForm1.DrawRotatedEllipse; var CenterX, CenterY: Integer; RadiusX, RadiusY: Integer; cs, sn, x, y: real; sdt: real; n: Integer; FP: array[0..360] of TPoint; begin {--clear canvas--} with PaintBox1.Canvas do begin Pen.Color:=Color; Brush.Color:=Color; Rectangle(0, 0, PaintBox1.Width, PaintBox1.Height); end; {--initialization--} RadiusX:=PaintBox1.Width div 2; RadiusY:=PaintBox1.Height div 3; CenterX:=PaintBox1.Width div 2; CenterY:=PaintBox1.Height div 2;

Page 12: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 12 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

sdt:=Angle*PI/180; cs:=cos(sdt); sn:=sin(sdt); for n:=0 to 360 do begin diketik x:=RadiusX*cos(n*PI/180); y:=RadiusY*sin(n*PI/180); FP[n].x:=CenterX+Round(x*cs+y*sn); FP[n].y:=CenterY+Round(-sn*x+cs*y); end; PaintBox1.Canvas.Pen.Color:=clBlack; PaintBox1.Canvas.Brush.Style:=bsClear; PaintBox1.Canvas.Polygon(FP); end; procedure TForm1.TrackBar1Change(Sender: TObject); begin Angle:=TrackBar1.Position; GroupBox1.Caption:='Rotation Angle: '+IntToStr(Angle); diketik Application.ProcessMessages; DrawRotatedEllipse; end; procedure TForm1.FormPaint(Sender: TObject); begin TrackBar1Change(Sender); diketik end; procedure TForm1.Button1Click(Sender: TObject); begin close; diketik end; end.

Hasil Program selengkapnya adalah :

Dan

Seterusnya dapat di putar/rotate gambarnya

Sudut 0 derajad Sudut 46

derajad

Page 13: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 13 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

3. SEGI EMPAT SUDUT DAN ELIPS

Segi empat sudut dan elips adalah suatu gambar sudut persegi dan sudut

elips.

Langkah membuat adalah :

a. Buat suatu form

b. Klik PainBox untuk tempat gambar yang ada pada menu sistem

c. Buat suatu button untuk Round Regt untuk menampilkan kota persegi

d. Buat suatu button untuk Regtangle untuk menampilkan kotak sudut Elips.

e. Buat suatu Button untuk dapat mengkuli keluar

f. Ketik program berikut pada RoundRect untuk menggambarkan sudut:

procedure TForm1.SpeedButton2Click(Sender: TObject); begin with PaintBox1 do begin Canvas.Brush.Color:=clRed; Canvas.RoundRect(10, 10, 150, 150, 60, 60); end; end;

Penjelasan program Round Rect

Procedure untuk SpeedButton: procedure TForm1.SpeedButton2Click(Sender: TObject);

Membuat conection ke tampilan PaintBox1 : begin with PaintBox1 do

Page 14: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 14 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Menampilkan membuat warna canvas Canvas.Brush.Color:=clRed, dan menarik garis sesuai dengan grafik x1,y1 ke X2,Y2 dengan format Canvas.RoundRect(x1, y1, x2, y2, lebar, tinggi):

begin Canvas.Brush.Color:=clRed; Canvas.RoundRect(10, 10, 150, 150, 60, 60); end;

Penjelasan program Rectangle

Procedure untuk SpeedButton: procedure TForm1.SpeedButton1Click(Sender: TObject);

Membuat conection ke tampilan PaintBox1 :

with PaintBox1 do begin

Menampilkan membuat warna canvas Canvas.Brush.Color:=clInfoBK, dan menarik garis sesuai dengan grafik x1,y1 ke X2,Y2 dengan format Canvas.Rectangle(170, 10, 310, 150):

Canvas.Brush.Color:=clInfoBK; Canvas.Rectangle(170, 10, 310, 150);

g. Ketik Program berikut pada Button keluar:

procedure TForm1.Button1Click(Sender: TObject); begin close; end;

Listing program selengkapnya adalah :

unit Rectangle; {-------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait} {-------------------------------------------------} interface uses Windows, SysUtils, Classes, Controls, Graphics, Forms, Buttons, ExtCtrls, StdCtrls, ComCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; Shape1: TShape; Button1: TButton; procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject);

Page 15: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 15 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.SpeedButton1Click(Sender: TObject); begin with PaintBox1 do begin Canvas.Brush.Color:=clInfoBK; Canvas.Rectangle(170, 10, 310, 150); end; end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin with PaintBox1 do begin Canvas.Brush.Color:=clRed; Canvas.RoundRect(10, 10, 150, 150, 60, 60); end; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; end.

Hasil Program selengkapnya adalah :

Page 16: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 16 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

DAFTAR WARNA LINE/PEN

Latihan

Buat Program yang dapat menggambarkan seperti tampilan dibawah ini :

1. Regions Combine

Page 17: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 17 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Listing Programnya adalah :

unit Rgn_Combine; {------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {-------------------------------------------------} interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Buttons, ExtCtrls, StdCtrls, ComCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; Shape1: TShape; Button1: TButton; procedure SpeedButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; RgnA, RgnB, RgnC: HRgn; implementation {$R *.dfm} {--COMBINE REGION--} procedure TForm1.SpeedButton1Click(Sender: TObject); begin RgnC:=CreateRectRgn(0, 0, 10, 10); {--dummy------} RgnA:=CreateRectRgn(20, 10, 160, 140); {--rectangle--} RgnB:=CreateEllipticRgn(130, 30, 300, 150); {--ellipse----} try CombineRgn(RgnC, RgnA, RgnB, RGN_OR); PaintBox1.Canvas.Brush.Color:=clInfoBK; FillRgn(PaintBox1.Canvas.Handle, RgnC, PaintBox1.Canvas.Brush.Handle); PaintBox1.Canvas.Brush.Color:=clBlack; FrameRgn(PaintBox1.Canvas.Handle,

RgnC, PaintBox1.Canvas.Brush.Handle, 1, 1); finally DeleteObject(RgnA); DeleteObject(RgnB); DeleteObject(RgnC); end; end; procedure TForm1.Button1Click(Sender: TObject);

Page 18: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 18 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

begin close; end; end.

2. Grafik Sinus dan Cosinus

Listing Programnya adalah :

unit SineCurve; {-------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {--------------------------------------------------} interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Buttons, ExtCtrls, StdCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; Shape1: TShape; SpeedButton2: TSpeedButton; Button1: TButton;

Grafik Cosinus

Grafik Sinus

Page 19: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 19 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.SpeedButton1Click(Sender: TObject); var y, cx, cy, a: Integer; begin with PaintBox1 do begin Canvas.Brush.Style:=bsClear; cy:=Height div 2; cx:=Width div 2; Canvas.Pen.Color:=clSilver; Canvas.MoveTo(0, cy); Canvas.LineTo(Width, cy); Canvas.MoveTo(0, 0); Canvas.LineTo(0, Height); Canvas.Pen.Color:=clBlack; end; a:=0; repeat Y:=cy-Round(cy*sin(a*PI/cx)); if a=0 then PaintBox1.Canvas.MoveTo(a, Y) else PaintBox1.Canvas.LineTo(a, Y); Inc(a); until a>PaintBox1.Width-1; end; procedure TForm1.SpeedButton2Click(Sender: TObject); var y, cx, cy, a: Integer; begin with PaintBox1 do begin Canvas.Brush.Style:=bsClear; cy:=Height div 2; cx:=Width div 2; Canvas.Pen.Color:=clSilver; Canvas.MoveTo(0, cy); Canvas.LineTo(Width, cy); Canvas.MoveTo(0, 0); Canvas.LineTo(0, Height); Canvas.Pen.Color:=clBlack; end; a:=0; repeat Y:=cy-Round(cy*cos(a*PI/cx)); if a=0 then

Page 20: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 20 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

PaintBox1.Canvas.MoveTo(a, Y) else PaintBox1.Canvas.LineTo(a, Y); Inc(a); until a>PaintBox1.Width-1; end; end.

4. Parabola

Listing Programnya adalah :

unit ParabolaCurve; {------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {------------------------------------------------} interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Buttons, ExtCtrls, StdCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; Shape1: TShape; Button1: TButton; procedure SpeedButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm}

Page 21: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 21 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

procedure TForm1.SpeedButton1Click(Sender: TObject); var n, y, cx: Integer; begin with PaintBox1 do begin Canvas.Brush.Style:=bsClear; cx:=Width div 2; Canvas.Pen.Color:=clSilver; Canvas.MoveTo(0, Height-1); Canvas.LineTo(Width, Height-1); Canvas.MoveTo(cx, 0); Canvas.LineTo(cx, Height); Canvas.Pen.Color:=clBlack; end; for n:=-cx to cx do begin Y:=Round(n*n/150); if n=-cx then PaintBox1.Canvas.MoveTo(cx+n, PaintBox1.Height-1-Y) else PaintBox1.Canvas.LineTo(cx+n, PaintBox1.Height-1-Y); end; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; end.

5. Pola Standar

Listing Programnya adalah :

unit Pola; {-------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {------------------------------------------------} interface uses Windows, SysUtils, Variants, Classes, Graphics, Controls, Forms, ComCtrls, Buttons, StdCtrls, ExtCtrls;

Page 22: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 22 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

type TForm1 = class(TForm) PaintBox1: TPaintBox; BtnPolaBaru: TSpeedButton; Panel1: TPanel; Panel2: TPanel; PaintBox2: TPaintBox; Panel3: TPanel; PaintBox3: TPaintBox; Panel4: TPanel; PaintBox4: TPaintBox; Panel5: TPanel; PaintBox5: TPaintBox; Panel6: TPanel; PaintBox6: TPaintBox; Panel7: TPanel; PaintBox7: TPaintBox; Panel8: TPanel; PaintBox8: TPaintBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; procedure BtnPolaBaruClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BtnPolaBaruClick(Sender: TObject); begin PaintBox1.Canvas.Brush.Style:=bsClear; PaintBox1.Canvas.Rectangle(PaintBox1.ClientRect); PaintBox2.Canvas.Brush.Color:=clBlack; PaintBox2.Canvas.Brush.Style:=bsSolid; PaintBox2.Canvas.Rectangle(PaintBox1.ClientRect); PaintBox3.Canvas.Brush.Color:=clBlack; PaintBox3.Canvas.Brush.Style:=bsCross; PaintBox3.Canvas.Rectangle(PaintBox1.ClientRect); PaintBox4.Canvas.Brush.Color:=clBlack; PaintBox4.Canvas.Brush.Style:=bsHorizontal; PaintBox4.Canvas.Rectangle(PaintBox1.ClientRect);

Page 23: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 23 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

PaintBox5.Canvas.Brush.Color:=clBlack; PaintBox5.Canvas.Brush.Style:=bsBDiagonal; PaintBox5.Canvas.Rectangle(PaintBox1.ClientRect); PaintBox6.Canvas.Brush.Color:=clBlack; PaintBox6.Canvas.Brush.Style:=bsFDiagonal; PaintBox6.Canvas.Rectangle(PaintBox1.ClientRect); PaintBox7.Canvas.Brush.Color:=clBlack; PaintBox7.Canvas.Brush.Style:=bsDiagCross; PaintBox7.Canvas.Rectangle(PaintBox1.ClientRect); PaintBox8.Canvas.Brush.Color:=clBlack; PaintBox8.Canvas.Brush.Style:=bsVertical; PaintBox8.Canvas.Rectangle(PaintBox1.ClientRect); end; end.

6. Spiral

Listing Programnya adalah :

unit Spiral; {------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {-----------------------------------------------} interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, StdCtrls, ComCtrls; type TForm1 = class(TForm) SpeedButton1: TSpeedButton; Shape1: TShape; PaintBox1: TPaintBox; Button1: TButton; procedure SpeedButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } procedure DrawSpiral; public

Page 24: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 24 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

{ Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.DrawSpiral; var x,y1,y2,r, c: Integer; begin c:=9; //SpinStep.Value; r:=c; y1:=PaintBox1.Height div 2; y2:=y1+r; x:=PaintBox1.Width div 2; repeat PaintBox1.Canvas.Arc(x-r, y1-r, x+r, y1+r, x, y1-r, x, y1+r); Inc(r, c); PaintBox1.Canvas.Arc(x-r, y2-r, x+r, y2+r, x, y2+r, x, y2-r); Inc(r, c); until r>=(PaintBox1.Height div 2); end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin DrawSpiral; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; end.

7. Text Terbenam dan Timbul

Page 25: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 25 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Listing Programnya adalah :

unit Teks_Emboss; {---------------------------------------------------} { Copyright (c) 2008 Hasanuddin SIrait } {--------------------------------------------------} interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, StdCtrls, ComCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; Shape1: TShape; Button1: TButton; procedure SpeedButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} {--COMBINE REGION--} procedure TForm1.SpeedButton1Click(Sender: TObject); var X, Y: Integer; Teks: string; begin X:=10; Y:=10; Teks:='Embossed'; with PaintBox1 do begin Canvas.Font.Name:='Arial'; Canvas.Font.Size:=48; Canvas.Brush.Style:=bsClear; {--raised--} Canvas.Font.Color:=clBtnHighlight; Canvas.TextOut(X-1, Y-1, Teks); Canvas.Font.Color:=clBtnShadow; Canvas.TextOut(X+1, Y+1, Teks); Canvas.Font.Color:=clBtnFace; Canvas.TextOut(X, Y, Teks); {--lowered--} Y:=80;

Page 26: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 26 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Canvas.Font.Color:=clBtnShadow; Canvas.TextOut(X-1, Y-1, Teks); Canvas.Font.Color:=clBtnHighlight; Canvas.TextOut(X+1, Y+1, Teks); Canvas.Font.Color:=clBtnFace; Canvas.TextOut(X, Y, Teks); end; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; end.

8. Cermin

Listing Programnya adalah :

unit Teks_Mirror; {-----------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {----------------------------------------------} interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Buttons, ExtCtrls, StdCtrls, ComCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; Shape1: TShape; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; Button1: TButton; procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); procedure Button1Click(Sender: TObject);

Page 27: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 27 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} {--use of pixel--} procedure TForm1.SpeedButton1Click(Sender: TObject); var x, y, h: Integer; begin with PaintBox1 do begin Canvas.Font.Name:='Arial Black'; Canvas.Font.Size:=36; Canvas.Font.Color:=clBlack; Canvas.TextOut(0, 10, 'Efek Cermin'); end; h:=PaintBox1.Height; with PaintBox1 do for y:=0 to h div 2 do for x:=0 to Width-1 do Canvas.Pixels[x, h-1-y]:=Canvas.Pixels[x, y]; end; type TRGBArray = array[0..32767] of TRGBTriple; pRGBArray = ^TRGBArray; {--use of scanline--} procedure TForm1.SpeedButton2Click(Sender: TObject); var x, y, w, h: integer; Org, Dest: pRGBArray; bmp: TBitmap; begin h:=PaintBox1.Height; w:=PaintBox1.Width; bmp:=TBitmap.Create; try bmp.Width:=w; bmp.Height:=h; bmp.PixelFormat:=pf24bit; with bmp do begin Canvas.Font.Name:='Arial Black'; Canvas.Font.Size:=36; Canvas.Font.Color:=clBlack; Canvas.TextOut(0, 10, 'Efek Cermin'); end;

Page 28: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 28 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

for y:=0 to h div 2 do begin Org := bmp.ScanLine[y]; // Dest := bmp.ScanLine[h div 2 + y]; Dest := bmp.ScanLine[h-1-y]; {**} for x:=0 to w-1 do Dest[x]:=Org[x]; // Dest[w-1-x]:=Org[x]; {** rotate +180 degrees} end; PaintBox1.Canvas.Draw(0, 0, bmp); finally bmp.Free; end; end; {--horizontal -> pixels--} procedure TForm1.SpeedButton3Click(Sender: TObject); var x, y, w: Integer; begin with PaintBox1 do begin Canvas.Font.Name:='Arial Black'; Canvas.Font.Size:=36; Canvas.Font.Color:=clBlack; Canvas.TextOut(10, 20, 'Efek'); Canvas.Font.Size:=28; Canvas.TextOut(10, 80, 'Cermin'); end; w:=PaintBox1.Width; with PaintBox1 do for y:=0 to Height-1 do for x:=0 to w div 2 do Canvas.Pixels[w-1-x, y]:=Canvas.Pixels[x, y]; end; {--horizontal -> scanline--} procedure TForm1.SpeedButton4Click(Sender: TObject); var x, y, w, h: integer; Org, Dest: pRGBArray; bmp: TBitmap; begin h:=PaintBox1.Height; w:=PaintBox1.Width; bmp:=TBitmap.Create; try bmp.Width:=w; bmp.Height:=h; bmp.PixelFormat:=pf24bit; with bmp do begin Canvas.Font.Name:='Arial Black'; Canvas.Font.Size:=36; Canvas.Font.Color:=clBlack; Canvas.TextOut(10, 20, 'Efek');

Page 29: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 29 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

Canvas.Font.Size:=28; Canvas.TextOut(10, 80, 'Cermin'); end; for y:=0 to h -1 do begin Org := bmp.ScanLine[y]; Dest := bmp.ScanLine[y]; for x:=0 to w div 2 do Dest[w-1-x]:=Org[x]; end; PaintBox1.Canvas.Draw(0, 0, bmp); finally bmp.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin close; end; end.

9. Scan ke warna Text dari Gambar

Listing Programnya adalah :

unit Teks_Pictured; {---------------------------------} { Copyright (c) 2005 Djoko Susilo } {---------------------------------} interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, StdCtrls, ComCtrls, jpeg; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; Shape1: TShape; Image1: TImage;

Page 30: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 30 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

SpeedButton2: TSpeedButton; procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} {--PICTURED TEXT--} procedure TForm1.SpeedButton1Click(Sender: TObject); var x, y: Integer; begin with PaintBox1 do begin Canvas.Font.Name:='Arial Black'; Canvas.Font.Size:=72; Canvas.Font.Color:=clBlack; Canvas.TextOut(30, -30, 'Text'); end; with PaintBox1 do for y:=0 to Height-1 do for x:=0 to Width-1 do if Canvas.Pixels[x, y]=clBlack then Canvas.Pixels[x, y]:=Image1.Picture.Bitmap.Canvas.Pixels[x, y]; end; type TRGBArray = array[0..32767] of TRGBTriple; pRGBArray = ^TRGBArray; procedure TForm1.SpeedButton2Click(Sender: TObject); var x, y: Integer; bmp: TBitmap; P : PRGBArray; r, g, b: Byte; begin bmp:=TBitmap.Create; try bmp.Width:=320; bmp.Height:=80; bmp.PixelFormat:=pf24bit; bmp.Canvas.Font.Name:='Arial Black'; bmp.Canvas.Font.Size:=72; bmp.Canvas.Font.Color:=clBlack;

Page 31: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 31 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

bmp.Canvas.TextOut(30, -30, 'Text'); for y:=0 to bmp.Height-1 do begin P:=bmp.ScanLine[y]; for x:=0 to bmp.Width-1 do begin r:=P[x].rgbtRed; g:=P[x].rgbtGreen; b:=P[x].rgbtBlue; //if RGB(r, g, b)=ColorToRGB(clBlack) then if (r=0) and (g=0) and (b=0) then {-black-} PaintBox1.Canvas.Pixels[x, y]:=Image1.Picture.Bitmap.Canvas.Pixels[x, y]; end; end; finally bmp.Free; end; end; end.

10. MenggambarText

Listing Programnya adalah :

unit TextOut; {-------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {------------------------------------------------}

Page 32: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 32 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Buttons, ExtCtrls, StdCtrls, ComCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; Shape1: TShape; SpeedButton3: TSpeedButton; Label1: TLabel; procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.SpeedButton1Click(Sender: TObject); var s: string; R: TRect; Flags: word; begin Flags:=DT_SINGLELINE or DT_CENTER; //-DT_END_ELLIPSIS; s:='Teks yang diformat pada area segi-empat'; R:=Rect(20, 30, 250, 75); PaintBox1.Canvas.Rectangle(R); with PaintBox1 do begin Canvas.Font.Name:='Verdana'; Canvas.Font.Size:=11; Canvas.Brush.Style:=bsClear; // Canvas.TextOut(2,2, s); DrawText(Canvas.Handle, PChar(s), Length(s), R, Flags); Flags:=DT_WORDBREAK; R:=Rect(20, 90, 250, 135); PaintBox1.Canvas.Rectangle(R); Canvas.Brush.Style:=bsClear; DrawText(Canvas.Handle, PChar(s), Length(s), R, Flags); end; end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin with PaintBox1 do

Page 33: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 33 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

begin Canvas.Font.Name:='Verdana'; Canvas.Font.Size:=14; Canvas.TextOut(-10, -10, 'Teks dengan koordinat bebas'); Canvas.TextOut(20, 40, 'Teks dengan koordinat bebas'); Canvas.TextOut(90, 90, 'Teks dengan koordinat bebas'); Canvas.TextOut(150, Height-17, 'Teks dengan koordinat bebas'); end; end; procedure TForm1.SpeedButton3Click(Sender: TObject); var R: TRect; begin R:=Rect(38, 50, 270, 78); PaintBox1.Canvas.Rectangle(R); with PaintBox1 do begin Canvas.Font.Name:='Verdana'; Canvas.Brush.Style:=bsClear; Canvas.Font.Size:=18; // Canvas.Font.Color:=clSilver; // Canvas.TextOut(30, 18, 'Teks pada jendela'); // Canvas.TextOut(30, 58, 'Teks pada jendela'); // Canvas.TextOut(30, 88, 'Teks pada jendela'); // Canvas.Font.Color:=clBlack; Canvas.TextRect(R, 30, 58, 'Teks pada jendela'); end; end; end.

11. Teks dengan efek Outline

Listing Programnya adalah

unit Teks_Outline; {-------------------------------------------------} { Copyright (c) 2008 Hasanuddin Sirait } {--------------------------------------------------} interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, StdCtrls, ComCtrls;

Page 34: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 34 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

type TForm1 = class(TForm) PaintBox1: TPaintBox; SpeedButton1: TSpeedButton; Shape1: TShape; Button1: TButton; procedure SpeedButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} {--COMBINE REGION--} procedure TForm1.SpeedButton1Click(Sender: TObject); var X, Y: Integer; Teks: string; begin X:=10; Y:=20; Teks:='Outlined Text'; with PaintBox1 do begin Canvas.Font.Name:='Verdana'; Canvas.Font.Size:=32; Canvas.Brush.Style:=bsClear; {--outline--} Canvas.Font.Color:=clBlue; Canvas.TextOut(X-1, Y-1, Teks); Canvas.TextOut(X-1, Y+1, Teks); Canvas.TextOut(X+1, Y+1, Teks); Canvas.TextOut(X+1, Y-1, Teks); Canvas.Font.Color:=clInfoBK; Canvas.TextOut(X, Y, Teks); {--hollow--} Y:=70; Canvas.Font.Color:=clBlack; Canvas.TextOut(X-1, Y-1, Teks); Canvas.TextOut(X-1, Y+1, Teks); Canvas.TextOut(X+1, Y+1, Teks); Canvas.TextOut(X+1, Y-1, Teks); Canvas.Font.Color:=clBtnFace; Canvas.TextOut(X, Y, Teks); end; end;

Page 35: PANDUAN PEMBELAJARAN KGrafik Sinus dan Konsinus 3. Parabola 4. Spiral 5. Pola Standar 6. Spiral 7. Text Terbenam dan Timbul 8. Cermin 9. Scan ke warna Text dari Gambar 10. MenggambarText

Untuk Kalangan Sendiri/Memperbanyak atau merobah isi sebagian/seluruhnya 35 of 35 Dianggab Plagiat, dan akan di tuntut secara Hukum Perdata

procedure TForm1.Button1Click(Sender: TObject); begin close; end; end.