Anda di halaman 1dari 4

Titik dan Garis di Borland C++

Titik(pixel) merupakan satuan terkecil dari gambar karena menggambar objek apapun kita
mulai dengan sebuah titik. Operasi titik juga digunakan untuk pengolahan citra karena setiap
titik pada monitor memiliki koordinat dan warna yang disebut dengan pixels.
format menggambar titik :

Canvas->Pixels[x][y]=warna;

ket:
x= koordinat horisontal
y= koordinat vertikal
warna= warna titik
misal:

Canvas->Pixels[100][100]=clBlack;

Garis(line) merupakan kumpulan dari titik yang tersusun secara lurus dari koordinat awal
menuju koordinat akhir.
format menggambar garis:

Canvas->MoveTo(x0,y0);
Canvas->LineTo(x1,y1);
—–
Canvas->LineTo(xn,yn);

ket:
(x0,y0)= koordinat titik awal garis
(x1,y1)= koordinat titik lanjutan garis
(xn,un)= koordinat titik akhir garis
misal:

Canvas->MoveTo(100,200);
Canvas->LineTo(300,400);
Canvas->LineTo(500,200);
Canvas->LineTo(800,200);

Cara membuat beberapa objek 2D dengan menggunakan bahasa C++


Ahmad Husein

23

Mar 2011

Sekarang saya akan share ke teman-teman bagaimana membuat objek-objek 2D atau bahasa
kerennya bangun datar dengam menggunakan bahasa C++. Sebenarnya saya juga baru belajar
menggunakan bahasa C++, itu juga karena perintah dosen, hehehe…
Oke, just to the point, untuk membuat objek 2D dengan bahasa C++ tergolong gampang-
gampang susah. Gampang kalo udah ngerti dan susah kalo belum ngerti, hmmmm…

Sebenarnya kita hanya cuma perlu tahu fungsi-fungsi dan properti yang ada di dalam
editornya (di sini saya menggunakan Borland C++). Perhatikan list code berikut ini :

//—————————————————————————

#include <vcl.h>
#pragma hdrstop

#include “Tugas11.h”
//—————————————————————————
#pragma package(smart_init)
#pragma resource “*.dfm”
TDemo *Demo;
//—————————————————————————
__fastcall TDemo::TDemo(TComponent* Owner)
: TForm(Owner)
{
}
//—————————————————————————
void __fastcall TDemo::bt_garisClick(TObject *Sender)
{
Demo->Canvas->MoveTo(25,225);
Demo->Canvas->LineTo(100,275);
}
//—————————————————————————
void __fastcall TDemo::bt_segitigaClick(TObject *Sender)
{
POINT titik[2];
titik[0]=Point(125,225);
titik[1]=Point(125,275);
titik[2]=Point (200,225);
Canvas->Polygon((TPoint*)titik,2);
}
//—————————————————————————
void __fastcall TDemo::bt_persegiClick(TObject *Sender)
{
Demo->Canvas->Rectangle(125,300,200,375);
}
//—————————————————————————
void __fastcall TDemo::bt_trapesiumClick(TObject *Sender)
{
POINT titik[3];
titik[0]=Point(210,225);
titik[1]=Point(245,225);
titik[2]=Point(275,275);
titik[3]=Point(210,275);
Canvas->Polygon((TPoint*)titik,3);
}
//—————————————————————————
void __fastcall TDemo::bt_lingkaranClick(TObject *Sender)
{
Demo->Canvas->RoundRect(290,225,350,285,400,345);
}
//—————————————————————————
void __fastcall TDemo::bt_prsgPjgClick(TObject *Sender)
{
Demo->Canvas->Rectangle(25,300,100,350);
}
//—————————————————————————
void __fastcall TDemo::bt_ellipseClick(TObject *Sender)
{
Demo->Canvas->RoundRect(290,300,350,400,400,420);
}
//—————————————————————————
void __fastcall TDemo::FormActivate(TObject *Sender)
{
bt_garis->SetFocus();
}
//—————————————————————————

void __fastcall TDemo::bt_titikClick(TObject *Sender)


{
Demo->Canvas->RoundRect(240,330,242,332,244,344);
}
//—————————————————————————

Source code di atas adalah contoh untuk menampilkan beberapa objek 2D (garis, titik,
persegi, persegi panjang, segitiga, trapesium, lingkaran, dan ellipse).

Mari kita bahas satu persatu,

1. void __fastcall TDemo::bt_garisClick(TObject *Sender)


{
Demo->Canvas->MoveTo(25,225);
Demo->Canvas->LineTo(100,275);
}

//—————————————————————————

nah, itu merupakan method untuk menampilkan garis ketika button “bt_garis” diklik, dimana
“Demo” merupakan nama Form;

2. void __fastcall TDemo::bt_segitigaClick(TObject *Sender)


{
POINT titik[2];
titik[0]=Point(125,225);
titik[1]=Point(125,275);
titik[2]=Point (200,225);
Canvas->Polygon((TPoint*)titik,2);
}
//—————————————————————————

kalo yang ini adalah method untuk menampilkan objek segitiga, dimana untuk membuatnya
dengan mendeklarasikan array dan semua titik akan dihubungkan (titik 0 adalah titik awal
dan titik dengan angka terbesar adalah titik akhir). Method ini juga bisa digunakan untuk
membuat objek polygon yang lain sesuai jumlah titik-titiknya.

3. void __fastcall TDemo::bt_persegiClick(TObject *Sender)


{
Demo->Canvas->Rectangle(125,300,200,375);
}
//—————————————————————————

nah, yang satu ini adalah method untuk menampilkan persegi, dimana terdiri dari x1,x2,y1,
dan y2 (x1–>x2 = panjang, y1–>y2 = lebar). Untuk persegi panjang tinggal bedain aja selisih
x1–>x2 dengan y1–>y2.

4. void __fastcall TDemo::bt_ellipseClick(TObject *Sender)


{
Demo->Canvas->RoundRect(290,300,350,400,400,420);
}
//—————————————————————————

kalo yang ini merupakan method untuk membuat ellipse, kalo mau buat lingkaran tinggal
samain aja selisih x1–>x2–>x3 dengan y1–>y2–>y3.

5. void __fastcall TDemo::bt_titikClick(TObject *Sender)


{
Demo->Canvas->RoundRect(240,330,242,332,244,344);
}
//—————————————————————————

nah ini adalah untuk membuat titik, saya sempat bingung karena tidak ada funsi dalam
khusus untuk membuat titik dan menduga cara seperti ini salah karena menggunakan fungsi
lingkaran yang jari-jarinya sangat kecil, tetapi ternyata itu tidak salah (kata dosen saya),
hehehe…

Silahkan download filenya di sini.

Semoga bermanfaat… ^_^

Anda mungkin juga menyukai