Fill Area dan Teks Grafis
Fill Area Fill Area (pengisian daerah) adalah mengisi daerah kosong yang dibatasi oleh frame polygon suatu bentuk geometri Ada dua pendekatan yang dapat dilakukan dalam mengisi area pada raster system : - Menentukan overlap internal untuk scan line yang melintasi area - Memulai dari titik tertentu pada posisi dalam polygon dan menyebar ke sisi polygon
Algoritma Fill Area Algoritma Scan line pengisian area dilakukan menurut arah scan line (garis scan) yang melintasi polygon kemudian posisi yang berhubungan antara sepasang titik tertentu diberi warna
Algoritma Scan line
Fill Area Algoritma Boundary Fill Metode ini dapat digunakan apabila titik dalam suatu bangun geometri sudah diketahui, algoritma boundary fill memerlukan titik koordinat (x,y), pola isi, dan pola batas void boundaryFill(int x.int y,int fill,int boundary) { Int current; current = getPixel(x,y); If ( (current != boundary) && (current != fill)) { setcolor(fill); putpixel(x,y,fill); boundaryFill(x+1,y,fill,boundary); boundaryFill(x-1,y,fill,boundary); boundaryFill(x,y+1,fill,boundary); boundaryFill(x,y-1,fill,boundary); } }
Fill Area Algoritma Flood fill Metode ini dimulai dengan satu titik koordinat dalam satu bangun geometri, selanjutnya mendefinisikan seluruh bagian yg akan difill dengan warna yang sama. Apabila bagian yg akan di fill terdiri dari beberapa warna maka yg pertama harus dilakukan adalah membuat nilai pixel baru sehingga semua bagian yg akan difill mempunyai warna pixel yang sama Daerah dengan 2 warna berbeda
void floodFill( int x,int y,int fillColor,int oldColor){ if (getPixel(x,y) = =oldcolor ){ putPixel(x,y,fillcolor); floodFill(x+1,y , fillColor, oldColor); floodFill(x-1,y , fillColor, oldColor); floodFill(x,y+1 , fillColor, oldColor); floodFill(x,y-1 , fillColor, oldColor); }
Fill area dengan BGI BGI menyediakan fungsi untuk memilih corak dan mengisi suatu bangun geometri tertutup Untuk memilih corak setFillStyle(pola,warna) Pola : emptyFill,solidFill,lineFill,ltSlashFill,bkSlashFill,ltBkSlashFill ,hatchFill,xHatchFill,interLeaveFill,wideDotFill,closeDotFill ,userFill Cth: setfillstyle(1,14);
Fill Area dengan BGI Mengisi area floodfill (int x,int y,int warnabatas); x,y = koordinat titik dalam suatu bangun geometri tertutup warnabatas = batas daerah pengisian Cth: floodfill (200,100,14)
Teks Grafis dalam BGI Pembangkitan Karakter Grafis - Bitmap - Stroke (goresan) Bitmap karakter tersimpan sebagai pola pixel Stroke karakter tersimpan sebagai segmen garis
4 hal yg perlu diperhatikan dalam penulisan teks grafis daftarkan font yg akan digunakan style text , arah penulisan, ukuran justifikasi teks BGI mempunyai 4 file built in utk stroke font GOTH.CHR font gothic LITT.CHR font kecil (small font) SANS.CHR font Sans Serif TRIP.CHR font Triplex
Menentukan style teks Menentukan teks style yg digunakan settextstyle (nama font,arah, ukuran) nama font : defaultfont:0,triplexfont:1,smallfont:2,sansserif:3 gothicfont:4 arah: horizontal dir=0, vertikal dir=1 ukuran : integer
mengatur justifikasi teks settextjustify(mendatar,tegak) mendatar: lefttext:0 centertext:1 righttext:2 tegak : bottomtext :0 toptext:2
menulis text outtext(teks) teks: var char[] outtextxy(int x,int y,teks) x,y : koordinat awal teks
Bahan Lanjut Grafik penyajian