Open In App
Related Articles

Draw a smiley face using Graphics in C language

Improve Article
Save Article
Like Article

Prerequisite: graphics.h, How to include graphics.h in CodeBlocks? 
The task is to write a C program to draw a smiley face using graphics in C.
To run the program we have the include the below header file: 

#include <graphic.h>

Approach: We will create a Smiley Face with the help below functions: 

  1. fillellipse(int x, int y, int x_radius, int y_radius): A function from graphics.h header file which draws and fills an ellipse with center at (x, y) and (x_radius, y_radius) as x and y radius of ellipse.
  2. ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius): A function from graphics.h header file which is used to draw an ellipse (x, y) are coordinates of the center of the ellipse, stangle is the starting angle, end angle is the ending angle, and fifth and sixth parameters specifies the X and Y radius of the ellipse.
  3. setcolor(n): A function from graphics.h header file which set the color of pointer(cursor).
  4. setfillstyle(): A function from graphics.h header file which sets the current fill pattern and fill color.
  5. floodfill(): A function from graphics.h header file which is used to fill an enclosed area.

Below is the implementation of to draw Smiley Face using graphics in C:


// C program to create a smiley face
#include <conio.h>
#include <dos.h>
#include <graphics.h>
#include <stdio.h>
// Driver Code
int main()
    // Initialize graphic driver
    int gr = DETECT, gm;
    // Initialize graphics mode by passing
    // three arguments to initgraph function
    // &gdriver is the address of gdriver
    // variable, &gmode is the address of
    // gmode and  "C:\\Turboc3\\BGI" is the
    // directory path where BGI files
    // are stored
    initgraph(&gr, &gm, "C:\\Turboc3\\BGI");
    // Set color of smiley to yellow
    // creating circle and fill it with
    // yellow color using floodfill.
    circle(300, 100, 40);
    setfillstyle(SOLID_FILL, YELLOW);
    floodfill(300, 100, YELLOW);
    // Set color of background to black
    setfillstyle(SOLID_FILL, BLACK);
    // Use fill ellipse for creating eyes
    fillellipse(310, 85, 2, 6);
    fillellipse(290, 85, 2, 6);
    // Use ellipse for creating mouth
    ellipse(300, 100, 205, 335, 20, 9);
    ellipse(300, 100, 205, 335, 20, 10);
    ellipse(300, 100, 205, 335, 20, 11);
    // closegraph function closes the
    // graphics mode and deallocates
    // all memory allocated by
    // graphics system
    return 0;

Below is the output of the above program: 

Smiley Image


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 19 Apr, 2021
Like Article
Save Article
Similar Reads