C Program to create a House using Graphics

14 Jun, 2020
Prerequisite: graphics.h, How to include graphics.h in CodeBlocks?
The task is to write C program to create a house using graphics.
To run the program we have the include the below header file:
#include <graphic.h>

Setting Up the Environment:
Download the WinBGlm zip file from this link.Extract the WinBGlm zip at any desired directory as shown below:Copy the header file graphic.h and winbgim.h and paste these file inside the folder Program Files->CodeBlock->MinGW->Include_folder.Also copy the libbgi.a and paste inside the folder Program Files->CodeBlock->MinGW-> lib_folder.After this open your Code::Blocks and goto the Setting->Compiler->Linker Settings as shown below:Add New and Browse the file where the libbgi.a is available which is lib folder.And in other linker option paste this: “lbgi lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32“, Click on OK and Exit from Code::Blocks.
Download the WinBGlm zip file from this link.
Extract the WinBGlm zip at any desired directory as shown below:
Copy the header file graphic.h and winbgim.h and paste these file inside the folder Program Files->CodeBlock->MinGW->Include_folder.
Also copy the libbgi.a and paste inside the folder Program Files->CodeBlock->MinGW-> lib_folder.
After this open your Code::Blocks and goto the Setting->Compiler->Linker Settings as shown below:
Add New and Browse the file where the libbgi.a is available which is lib folder.
And in other linker option paste this: “lbgi lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32“, Click on OK and Exit from Code::Blocks.
Approach: We will create a house with the help of several lines and rectangles. Below are the steps:
We will draw a line in graphics by passing 4 numbers to line() function as:line(a, b, c, d)The above function will draw a line from coordinates (a, b) to (c, d) in the output window.IWe will draw a rectangle in graphics by passing 4 numbers to rectangle() function as:line(left, top, right, bottom)The above function will draw a rectangle with coordinates of left, right, top and bottom.The setfillstyle() function which sets any fill pattern in any shape created in C program using graphics.The floodfill() function is used to fill an enclosed area with any color.
We will draw a line in graphics by passing 4 numbers to line() function as:line(a, b, c, d)The above function will draw a line from coordinates (a, b) to (c, d) in the output window.
line(a, b, c, d)The above function will draw a line from coordinates (a, b) to (c, d) in the output window.
IWe will draw a rectangle in graphics by passing 4 numbers to rectangle() function as:line(left, top, right, bottom)The above function will draw a rectangle with coordinates of left, right, top and bottom.
line(left, top, right, bottom)The above function will draw a rectangle with coordinates of left, right, top and bottom.
The setfillstyle() function which sets any fill pattern in any shape created in C program using graphics.
The floodfill() function is used to fill an enclosed area with any color.
Below is the implementation of the above approach:
// C program to draw a house using// graphics.h library#include <conio.h>#include <graphics.h>#include <stdio.h>  // Driver Codevoid main(){    // Initialize of gdriver with    // DETECT macros    int gdriver = DETECT, gmode;      // Initialize structure of    // the house    initgraph(&gdriver, &gmode, "");      // Create lines for structure    // of the House    line(100, 100, 150, 50);      line(150, 50, 200, 100);      line(150, 50, 350, 50);    line(350, 50, 400, 100);      // Draw rectangle to give proper    // shape to the house    rectangle(100, 100, 200, 200);    rectangle(200, 100, 400, 200);    rectangle(130, 130, 170, 200);    rectangle(250, 120, 350, 180);      // Set color using setfillstyle()    // which take style and color as    // an argument    setfillstyle(2, 3);      // Fill the shapes with colors white    floodfill(131, 131, WHITE);    floodfill(201, 101, WHITE);      // Change the filling color    setfillstyle(11, 7);      // Fill the shapes with changed colors    floodfill(101, 101, WHITE);    floodfill(150, 52, WHITE);    floodfill(163, 55, WHITE);    floodfill(251, 121, WHITE);      // Close the initialized gdriver    closegraph();}
Output:Below is the output of the above program:
c-graphics
computer-graphics
C Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.