El archivo de encabezado graphics.h contiene la función fillpoly() que se utiliza para dibujar y rellenar un polígono, es decir, un triángulo, un rectángulo, un pentágono, un hexágono, etc. Requiere los mismos argumentos que drawpoly().
Sintaxis:
void fillpoly( int number, int *polypoints ); where, number indicates (n + 1) number of points where, n is the number of vertices in a polygon. polypoints points to a sequence of (n*2) integers.
Ejemplos:
Input : arr[] = {320, 150, 400, 250, 250, 350, 320, 150}; Output : Input : arr[] = {120, 250, 400, 250, 400, 350, 450, 200, 120, 250}; Output :
Explicación: la declaración de fillpoly() contiene dos argumentos: el número indica (n + 1) el número de puntos donde n es el número de vértices en un polígono. El segundo argumento, es decir, los puntos poligonales apuntan a una secuencia de (n * 2) enteros Cada par de números enteros da las coordenadas x e y de un punto en el polígono. Especificamos (n + 1) puntos porque las coordenadas del primer punto deben ser iguales a (n + 1) para dibujar una figura completa.
Ejemplo 1: Dibujar un triángulo usando fillpoly.
int arr[] = {320, 150, 400, 250, 250, 350, 320, 150};
Array arr contiene coordenadas de triángulo que son (320, 150), (400, 250) y (250, 350). Tenga en cuenta que el último punto (320, 150) en la array es el mismo que el primero.
A continuación se muestra la implementación de la función fillpoly().
// C Implementation for fillpoly() #include <graphics.h> // driver code int main() { // gm is Graphics mode which is // a computer display mode that // generates image using pixels. // DETECT is a macro defined in // "graphics.h" header file int gd = DETECT, gm; // coordinates for polygon int arr[] = {320, 150, 400, 250, 250, 350, 320, 150}; // initgraph initializes the // graphics system by loading a // graphics driver from disk initgraph(&gd, &gm, ""); // fillpoly function fillpoly(4, arr); getch(); // closegraph function closes the // graphics mode and deallocates // all memory allocated by // graphics system . closegraph(); return 0; }
Producción :
Nota: fillpoly() llena usando el patrón de relleno actual y el color que se puede cambiar usando setfillstyle.
A continuación se muestra el programa que utiliza setfillstyle() para rellenar un polígono.
// C Implementation for fillpoly() // using setfillstyle() #include <graphics.h> // driver code int main() { // gm is Graphics mode which is // a computer display mode that // generates image using pixels. // DETECT is a macro defined in // "graphics.h" header file int gd = DETECT, gm; // coordinates of polygon int arr[] = {320, 150, 400, 250, 250, 350, 320, 150}; // initgraph initializes the // graphics system by loading a // graphics driver from disk initgraph(&gd, &gm, ""); // setfillstyle function sets the // current fill pattern and fill color. setfillstyle(XHATCH_FILL, RED); // fillpoly function fillpoly(4, arr); getch(); // closegraph function closes the // graphics mode and deallocates // all memory allocated by // graphics system . closegraph(); return 0; }
Producción :
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA