Untitled

mail@pastecode.io avatar
unknown
c_cpp
2 years ago
1.4 kB
1
Indexable
Never
// Implementasi bahasa C pada algoritma boundaryFill
#include <graphics.h>
   
// Fungsi untuk 4 pixel
void boundaryFill4(int x, int y, int fill_color,int boundary_color)
{
    if(getpixel(x, y) != boundary_color &&
       getpixel(x, y) != fill_color)
    {
        putpixel(x, y, fill_color);
        //pengisian warna x+1, y
        boundaryFill4(x + 1, y, fill_color, boundary_color); 
        //pengisian warna x, y+1
        boundaryFill4(x, y + 1, fill_color, boundary_color);
        //pengisian warna x-1, y
        boundaryFill4(x - 1, y, fill_color, boundary_color); 
        //pengisian warna x, y-1
        boundaryFill4(x, y - 1, fill_color, boundary_color);
    }
}
   
//driver code
int main()
{
    //gm adalah mode Grafik yang merupakan mode tampilan komputer yang menghasilkan gambar menggunakan piksel
    int gd = DETECT, gm;
   
    //inisialisasi initgraph, sistem grafis dengan memuat a
    //graphic driver dari disk
    initgraph(&gd, &gm, "");
   
    int x = 250, y = 200, radius = 100;
   
    //fungsi lingkaran(x,y,radius)
    circle(x, y, radius);
   
    //pemanggilan func. boundaryfill
    boundaryFill4(x, y, 15, 30);
   
    delay(10000);
    
   	//berfungsi agar tombol yg kita tekan pada keyboard tidak akan ditampilkan pada konsol
    getch();
   
    //menutup mode grafis dan membatalkan alokasi semua memori oleh sistem grafis
    closegraph();
   
    return 0;
}