función fillpoly() en C

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *