0% found this document useful (0 votes)
226 views

Arc Function in C

The document provides code snippets and descriptions for various graphics functions in C like arc, bar, bar3d, circle, cleardevice, drawpoly, ellipse, fillellipse, fillpoly, floodfill, getarccoords, getbkcolor, getcolor, getdrivername. These functions are used to draw basic shapes and images, clear the screen, get coordinate and color information and more. Example C code is given for each function to demonstrate its use.

Uploaded by

Karthik Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
226 views

Arc Function in C

The document provides code snippets and descriptions for various graphics functions in C like arc, bar, bar3d, circle, cleardevice, drawpoly, ellipse, fillellipse, fillpoly, floodfill, getarccoords, getbkcolor, getcolor, getdrivername. These functions are used to draw basic shapes and images, clear the screen, get coordinate and color information and more. Example C code is given for each function to demonstrate its use.

Uploaded by

Karthik Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Arc function in c

Declaration :- void arc(int x, int y, int stangle, int endangle, int radius);
arc function is used to draw an arc with center (x,y) and stangle specifies starting angle,
endangle specifies the end angle and last parameter specifies the radius of the arc. arc function
can also be used to draw a circle but for that starting angle and end angle should be 0 and 360
respectively.

#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

arc(100, 100, 0, 135, 50);

getch();
closegraph();
return 0;
}

Bar function in c
Declaration :- void bar(int left, int top, int right, int bottom);

Bar function is used to draw a 2-dimensional, rectangular filled in bar . Coordinates of left top
and right bottom corner are required to draw the bar. Left specifies the X-coordinate of top left
corner, top specifies the Y-coordinate of top left corner, right specifies the X-coordinate of right
bottom corner, bottom specifies the Y-coordinate of right bottom corner. Current fill pattern and
fill color is used to fill the bar. To change fill pattern and fill color use setfillstyle.

C programming code
#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");


bar(100, 100, 200, 200);

getch();
closegraph();
return 0;
}

bar3d function in c
Declaration :- void bar3d(int left, int top, int right, int bottom, int depth, int topflag);

bar3d function is used to draw a 2-dimensional, rectangular filled in bar . Coordinates of left top
and right bottom corner of bar are required to draw the bar. left specifies the X-coordinate of
top left corner, top specifies the Y-coordinate of top left corner, right specifies the X-coordinate
of right bottom corner, bottom specifies the Y-coordinate of right bottom corner, depth specifies
the depth of bar in pixels, topflag determines whether a 3 dimensional top is put on the bar or
not ( if it is non-zero then it is put otherwise not ). Current fill pattern and fill color is used to fill
the bar. To change fill pattern and fill color use setfillstyle.

C program of bar3d
#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

bar3d(100, 100, 200, 200, 20, 1);

getch();
closegraph();
return 0;
}
Circle function in c
Declaration :- void circle(int x, int y, int radius);

Circle function is used to draw a circle with center (x,y) and third parameter specifies the radius
of the circle. The code given below draws a circle.

C program for circle


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

circle(100, 100, 50);

getch();
closegraph();
return 0;
}

Cleardevice function in c
Declaration :- void cleardevice();
cleardevice function clears the screen in graphics mode and sets the current position to (0,0).
Clearing the screen consists of filling the screen with current background color.

C program for cleardevice


#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\TC\\BGI");

outtext("Press any key to clear the screen.");


getch();
cleardevice();
outtext("Press any key to exit...");
getch();
closegraph();
return 0;
}

drawpoly function in c
Drawpoly function is used to draw polygons i.e. triangle, rectangle, pentagon, hexagon etc.

Declaration :- void drawpoly( int num, int *polypoints );

num 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 . Each pair of integers gives x and y coordinates of a point
on the polygon. We specify (n+1) points as first point coordinates should be equal to (n+1)th to
draw a complete figure.

To understand more clearly we will draw a triangle using drawpoly, consider for example the
array :-
int points[] = { 320, 150, 420, 300, 250, 300, 320, 150};

points array contains coordinates of triangle which are (320, 150), (420, 300) and (250, 300).
Note that last point(320, 150) in array is same as first. See the program below and then its
output, it will further clear your understanding.

C program for drawpoly


#include <graphics.h>
#include <conio.h>

main()
{
int gd=DETECT,gm,points[]={320,150,420,300,250,300,320,150};

initgraph(&gd, &gm, "C:\\TC\\BGI");

drawpoly(4, points);

getch();
closegraph();
return 0;
}
ellipse function in c
Declarations of ellipse function :-
void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius);

Ellipse is used to draw an ellipse (x,y) are coordinates of 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. To draw a complete ellipse strangles and end angle should be 0 and 360
respectively.

C programming code for ellipse


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

ellipse(100, 100, 0, 360, 50, 25);

getch();
closegraph();
return 0;
}

fillellipse function in c
Declaration of fillellipse function :-
void fillellipse(int x, int y, int xradius, int yradius);
x and y are coordinates of center of the ellipse, xradius and yradius are x and y radius of ellipse
respectively.

C program for fillellipse


#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

fillellipse(100, 100, 50, 25);

getch();
closegraph();
return 0;
}

fillpoly function in c
Fillpoly function draws and fills a polygon. It require same arguments as drawpoly.

Declaration :- void drawpoly( int num, int *polypoints );


For details of arguments see drawpoly.
fillpoly fills using current fill pattern and color which can be changed using setfillstyle.

C programming code
#include <graphics.h>
#include <conio.h>

main()
{
int gd=DETECT,gm,points[]={320,150,440,340,230,340,320,150};

initgraph(&gd, &gm, "C:\\TC\\BGI");

fillpoly(4, points);

getch();
closegraph();
return 0;
}

Floodfill function
Declaration :- void floodfill(int x, int y, int border);
floodfill function is used to fill an enclosed area. Current fill pattern and fill color is used to fill
the area.(x, y) is any point on the screen if (x,y) lies inside the area then inside will be filled
otherwise outside will be filled,border specifies the color of boundary of area. To change fill
pattern and fill color use setfillstyle. Code given below draws a circle and then fills it.

C programming code
#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

setcolor(RED);
circle(100,100,50);
floodfill(100,100,RED);

getch();
closegraph();
return 0;
}

Getarcoords function in c
Declaration :- void getarccoords(struct arccoordstype *var);

getarccoords function is used to get coordinates of arc which is drawn most recently.
arccoordstype is a predefined structure which is defined as follows:

struct arccoordstype
{
int x, y; /* center point of arc */
int xstart, ystart; /* start position */
int xend, yend; /* end position */
};
address of a structure variable of type arccoordstype is passed to function getarccoords.

C program of getarccoords
#include<graphics.h>
#include<conio.h>
#include<stdio.h>
main()
{
int gd = DETECT, gm;
struct arccoordstype a;
char arr[100];

initgraph(&gd, &gm,"C:\\TC\\BGI");

arc(250,200,0,90,100);
getarccoords(&a);

sprintf(arr,"(%d, %d)",a.xstart,a.ystart);
outtextxy(360,195,arr);

sprintf(arr,"(%d, %d)",a.xend,a.yend);
outtextxy(245,85,arr);

getch();
closegraph();
return 0;
}

getbkcolor function in c
getbkcolor function returns the current background color

Declaration : int getbkcolor();

e.g. color = getbkcolor(); // color is an int variable


if current background color is GREEN then color will be 2.

C program for getbkcolor


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm, bkcolor;
char a[100];

initgraph(&gd,&gm,"C:\\TC\\BGI");

bkcolor = getbkcolor();

sprintf(a,"Current background color = %d", bkcolor);


outtextxy( 10, 10, a);

getch();
closegraph();
return 0;
}

getcolor function
getcolor function returns the current drawing color.

Declaration : int getcolor();

e.g. a = getcolor(); // a is an integer variable


if current drawing color is WHITE then a will be 15.
See colors in c graphics.

C programming code for getcolor


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm, drawing_color;
char a[100];

initgraph(&gd,&gm,"C:\\TC\\BGI");

drawing_color = getcolor();

sprintf(a,"Current drawing color = %d", drawing_color);


outtextxy( 10, 10, a );

getch();
closegraph();
return 0;
}
getdrivername function
getdrivername function returns a pointer to the current graphics driver.

C program for getdrivername


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;

char *drivername;

initgraph(&gd, &gm, "C:\\TC\\BGI");

drivername = getdrivername();
outtextxy(200, 200, drivername);

getch();
closegraph();
return 0;
}

C smiling face animation


This animation using c draws a smiling face which appears at random position on screen. See
output below the code, it will help you in understanding the code easily.

C programming code
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>

main()
{
int gd = DETECT, gm, area, temp1, temp2, left = 25, top = 75;
void *p;

initgraph(&gd,&gm,"C:\\TC\\BGI");

setcolor(YELLOW);
circle(50,100,25);
setfillstyle(SOLID_FILL,YELLOW);
floodfill(50,100,YELLOW);

setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
fillellipse(44,85,2,6);
fillellipse(56,85,2,6);

ellipse(50,100,205,335,20,9);
ellipse(50,100,205,335,20,10);
ellipse(50,100,205,335,20,11);

area = imagesize(left, top, left + 50, top + 50);


p = malloc(area);

setcolor(WHITE);
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
outtextxy(155,451,"Smiling Face Animation");

setcolor(BLUE);
rectangle(0,0,639,449);

while(!kbhit())
{
temp1 = 1 + random ( 588 );
temp2 = 1 + random ( 380 );

getimage(left, top, left + 50, top + 50, p);


putimage(left, top, p, XOR_PUT);
putimage(temp1 , temp2, p, XOR_PUT);
delay(100);
left = temp1;
top = temp2;
}

getch();
closegraph();
return 0;
}

getmaxcolor function
getmaxcolor function returns maximum color value for current graphics mode and driver. Total
number of colors available for current graphics mode and driver are ( getmaxcolor() + 1 ) as
color numbering starts from zero.

Declaration :- int getmaxcolor();


C program of getmaxcolor
#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm, max_colors;
char a[100];

initgraph(&gd,&gm,"C:\\TC\\BGI");

max_colors = getmaxcolor();

sprintf(a,"Maximum number of colors for current graphics mode and driver =


%d",max_colors+1);
outtextxy(0, 40, a);

getch();
closegraph();
return 0;
}

imagesize function in c
imagesize function returns the number of bytes required to store a bitimage. This function is
used when we are using getimage.

Declaration:- unsigned int imagesize(int left, int top, int right, int bottom);

C programming code for imagesize


#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm, bytes;
char array[100];

initgraph(&gd, &gm, "C:\\TC\\BGI");

circle(200, 200, 50);


line(150, 200, 250, 200);
line(200, 150, 200, 250);

bytes = imagesize(150, 150, 250, 250);


sprintf(array, "Number of bytes required to store required area = %d",
bytes);
outtextxy(10, 280, array);

getch();
closegraph();
return 0;
}

Line function in c
line function is used to draw a line from a point(x1,y1) to point(x2,y2) i.e. (x1,y1) and (x2,y2) are
end points of the line.The code given below draws a line.

Declaration :- void line(int x1, int y1, int x2, int y2);

C programming code for line


#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

line(100, 100, 200, 200);

getch();
closegraph();
return 0;
}

lineto function in c
lineto function draws a line from current position(CP) to the point(x,y), you can get current
position using getx and gety function.
C programming code for lineto

#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

moveto(100, 100);
lineto(200, 200);

getch();
closegraph();
return 0;
}

moveto function in c
moveto function changes the current position (CP) to (x, y)

Declaration :- void moveto(int x, int y);

C programming code for moveto


#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;
char msg[100];

initgraph(&gd, &gm, "C:\\TC\\BGI");

sprintf(msg, "X = %d, Y = %d",getx(),gety());

outtext(msg);

moveto(50, 50);

sprintf(msg, "X = %d, Y = %d", getx(), gety());

outtext(msg);
getch();
closegraph();
return 0;
}

outtext function
outtext function displays text at current position.

Declaration :- void outtext(char *string);

C programming code for outtext


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

outtext("To display text at a particular position on the screen use


outtextxy");

getch();
closegraph();
return 0;
}

outtextxy function in c
outtextxy function display text or string at a specified point(x,y) on the screen.

Declaration :- void outtextxy(int x, int y, char *string);


x, y are coordinates of the point and third argument contains the address of string to be
displayed.

C programming code for outtextxy


#include<graphics.h>
#include<conio.h>
main()
{
int gd = DETECT, gm;

initgraph(&gd,&gm,"C:\\TC\\BGI");

outtextxy(100, 100, "Outtextxy function");

getch();
closegraph();
return 0;
}

sector function in c
Sector function draws and fills an elliptical pie slice.

Declaration :- void sector( int x, int y, int stangle, int endangle, int xradius, int yradius);

C programming code for sector


#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

sector(100, 100, 0, 135, 25, 35);

getch();
closegraph();
return 0;
}

Setbkcolor function in c
Declaration :- void setbkcolor(int color);

setbkcolor function changes current background color e.g. setbkcolor(YELLLOW) changes the
current background color to YELLOW.
Remember that default drawing color is WHITE and background color is BLACK.

C programming code for setbkcolor


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\TC\\BGI");

outtext("Press any key to change the background color to GREEN.");


getch();

setbkcolor(GREEN);

getch();
closegraph();
return 0;
}

Setbkcolor function in c
Declaration :- void setbkcolor(int color);

setbkcolor function changes current background color e.g. setbkcolor(YELLLOW) changes the
current background color to YELLOW.
Remember that default drawing color is WHITE and background color is BLACK.

C programming code for setbkcolor


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\TC\\BGI");
outtext("Press any key to change the background color to GREEN.");
getch();

setbkcolor(GREEN);

getch();
closegraph();
return 0;
}

setcolor function in c
Declaration :- void setcolor(int color);

In Turbo Graphics each color is assigned a number. Total 16 colors are available. Strictly
speaking number of available colors depends on current graphics mode and driver.For Example
:- BLACK is assigned 0, RED is assigned 4 etc. setcolor function is used to change the current
drawing color.e.g. setcolor(RED) or setcolor(4) changes the current drawing color to RED.
Remember that default drawing color is WHITE.

C programming code for setcolor


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;
initgraph(&gd,&gm,"C:\\TC\\BGI");

circle(100,100,50); /* drawn in white color */


setcolor(RED);
circle(200,200,50); /* drawn in red color */

getch();
closegraph();
return 0;
}
setfillstyle function in c
setfillstyle function sets the current fill pattern and fill color.

Declaration :- void setfillstyle( int pattern, int color);

Different fill styles:

enum fill_styles
{
EMPTY_FILL,
SOLID_FILL,
LINE_FILL,
LTSLASH_FILL,
SLASH_FILL,
BKSLASH_FILL,
LTBKSLASH_FILL,
HATCH_FILL,
XHATCH_FILL,
INTERLEAVE_FILL,
WIDE_DOT_FILL,
CLOSE_DOT_FILL,
USER_FILL
};

C programming source code for setfillstyle


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

setfillstyle(XHATCH_FILL, RED);
circle(100, 100, 50);
floodfill(100, 100, WHITE);

getch();
closegraph();
return 0;
}

setlinestyle in c
Declaration:
void setlinestyle( int linestyle, unsigned upattern, int thickness );

Available line styles:

enum line_styles
{
SOLID_LINE,
DOTTED_LINE,
CENTER_LINE,
DASHED_LINE,
USERBIT_LINE
};

C programming code
#include <graphics.h>

main()
{
int gd = DETECT, gm, c , x = 100, y = 50;

initgraph(&gd, &gm, "C:\\TC\\BGI");

for ( c = 0 ; c < 5 ; c++ )


{
setlinestyle(c, 0, 2);

line(x, y, x+200, y);


y = y + 25;
}

getch();
closegraph();
return 0;
}

Settextstyle function in c
Settextstyle function is used to change the way in which text appears, using it we can modify the
size of text, change direction of text and change the font of text.

Declaration :- void settextstyle( int font, int direction, int charsize);


font argument specifies the font of text, Direction can be HORIZ_DIR (Left to right) or
VERT_DIR (Bottom to top).
Different fonts
enum font_names
{
DEFAULT_FONT,
TRIPLEX_FONT,
SMALL_FONT,
SANS_SERIF_FONT,
GOTHIC_FONT,
SCRIPT_FONT,
SIMPLEX_FONT,
TRIPLEX_SCR_FONT,
COMPLEX_FONT,
EUROPEAN_FONT,
BOLD_FONT
};

C programming source code for settextstyle


#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm, x = 25, y = 25, font = 0;

initgraph(&gd,&gm,"C:\\TC\\BGI");

for (font = 0; font <= 10; font++)


{
settextstyle(font, HORIZ_DIR, 1);
outtextxy(x, y, "Text with different fonts");
y = y + 25;
}

getch();
closegraph();
return 0;
}

setviewport function in c
setviewport function sets the current viewport for graphics output.

Declaration :- void setviewport(int left, int top, int right, int bottom, int clip);
setviewport function is used to restrict drawing to a particular portion on the screen. For
example setviewport(100 , 100, 200, 200, 1);
will restrict our drawing activity inside the rectangle(100,100, 200, 200).
left, top, right, bottom are the coordinates of main diagonal of rectangle in which we wish to
restrict our drawing. Also note that the point (left, top) becomes the new origin.

C programming source code for setviewport


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm, midx, midy;

initgraph(&gd, &gm, "C:\\TC\\BGI");

midx = getmaxx()/2;
midy = getmaxy()/2;

setviewport(midx - 50, midy - 50, midx + 50, midy + 50, 1);


circle(50, 50, 55);

getch();
closegraph();
return 0;
}

textheight function in c
textheight function returns the height of a string in pixels.

Declaration :- int textheight(char *string);

C programming source code for textheight


#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT, gm, height;
char array[100];
initgraph(&gd, &gm, "C:\\TC\\BGI");

height = textheight("C programming");

sprintf(array,"Textheight = %d",height);
outtext(array);

getch();
closegraph();
return 0;
}

Textwidth function in c
Textwidth function returns the width of a string in pixels.

Declaration :- int textwidth(char *string);

C programming source code for textwidth


#include <stdio.h>
#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm, width;
char array[100];

initgraph(&gd, &gm, "C:\\TC\\BGI");

width = textwidth("C programming");

sprintf(array,"Textwidth = %d",width);
outtext(array);

getch();
closegraph();
return 0;
}
Draw shapes using c graphics
This c graphics program draws basic shapes such as circle, line, rectangle, ellipse and display
text on screen using c graphics. This can be a first graphics program for a beginner.

C programming code
#include<graphics.h>
#include<conio.h>

main()
{
int gd = DETECT,gm,left=100,top=100,right=200,bottom=200,x=
300,y=150,radius=50;

initgraph(&gd, &gm, "C:\\TC\\BGI");

rectangle(left, top, right, bottom);


circle(x, y, radius);
bar(left + 300, top, right + 300, bottom);
line(left - 10, top + 150, left + 410, top + 150);
ellipse(x, y + 200, 0, 360, 100, 50);
outtextxy(left + 100, top + 325, "My First C Graphics Program");

getch();
closegraph();
return 0;
}

C program draw bar chart


This program draws bar chart using c graphics. Chart is drawn using bars filled with different
styles and in different colors.

C programming code
#include <graphics.h>
#include <conio.h>

main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\TC\\BGI");

setcolor(YELLOW);
rectangle(0,30,639,450);
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
setcolor(WHITE);
outtextxy(275,0,"Bar Chart");

setlinestyle(SOLID_LINE,0,2);

line(100,420,100,60);
line(100,420,600,420);
line(90,70,100,60);
line(110,70,100,60);
line(590,410,600,420);
line(590,430,600,420);

outtextxy(95,35,"Y");
outtextxy(610,405,"X");
outtextxy(85,415,"O");

setfillstyle(LINE_FILL,BLUE);
bar(150,100,200,419);

setfillstyle(XHATCH_FILL,RED);
bar(225,150,275,419);

setfillstyle(WIDE_DOT_FILL,GREEN);
bar(300,200,350,419);

setfillstyle(INTERLEAVE_FILL,MAGENTA);
bar(375,125,425,419);

setfillstyle(HATCH_FILL,BROWN);
bar(450,175,500,419);

getch();
return 0;
}

C program to draw pie chart


This c program draws a pie chart showing percentage of various components drawn with
different filling styles and colors.

C programming code
/* Program to draw a pie chart */

#include<graphics.h>
#include<conio.h>

int main()
{
int gd = DETECT, gm, midx, midy;

initgraph(&gd, &gm, "C:\\TC\\BGI");

setcolor(MAGENTA);
rectangle(0,40,639,450);
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
setcolor(WHITE);
outtextxy(275,10,"Pie Chart");

midx = getmaxx()/2;
midy = getmaxy()/2;

setfillstyle(LINE_FILL,BLUE);
pieslice(midx, midy, 0, 75, 100);
outtextxy(midx+100, midy - 75, "20.83%");

setfillstyle(XHATCH_FILL,RED);
pieslice(midx, midy, 75, 225, 100);
outtextxy(midx-175, midy - 75, "41.67%");

setfillstyle(WIDE_DOT_FILL,GREEN);
pieslice(midx, midy, 225, 360, 100);
outtextxy(midx+75, midy + 75, "37.50%");

getch();
return 0;
}

C program to draw a 3d bar chart


This c program draws a 3d bar chart.

C programming code
#include <graphics.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm;

initgraph(&gd, &gm, "C:\\TC\\BGI");

setcolor(YELLOW);
rectangle(0,30,639,450);
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
setcolor(WHITE);
outtextxy(275,0,"Bar Chart");

setlinestyle(SOLID_LINE,0,2);

line(100,420,100,60);
line(100,420,600,420);
line(90,70,100,60);
line(110,70,100,60);
line(590,410,600,420);
line(590,430,600,420);

outtextxy(95,35,"Y");
outtextxy(610,405,"X");
outtextxy(85,415,"O");

setfillstyle(LINE_FILL,BLUE);
bar(150,100,200,419);

setfillstyle(XHATCH_FILL,RED);
bar(225,150,275,419);

setfillstyle(WIDE_DOT_FILL,GREEN);
bar(300,200,350,419);

setfillstyle(INTERLEAVE_FILL,MAGENTA);
bar(375,125,425,419);

setfillstyle(HATCH_FILL,BROWN);
bar(450,175,500,419);

getch();
return 0;
}
C smiling face animation
This animation using c draws a smiling face which appears at random position on screen. See
output below the code, it will help you in understanding the code easily.

C programming code
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>

main()
{
int gd = DETECT, gm, area, temp1, temp2, left = 25, top = 75;
void *p;

initgraph(&gd,&gm,"C:\\TC\\BGI");

setcolor(YELLOW);
circle(50,100,25);
setfillstyle(SOLID_FILL,YELLOW);
floodfill(50,100,YELLOW);

setcolor(BLACK);
setfillstyle(SOLID_FILL,BLACK);
fillellipse(44,85,2,6);
fillellipse(56,85,2,6);

ellipse(50,100,205,335,20,9);
ellipse(50,100,205,335,20,10);
ellipse(50,100,205,335,20,11);

area = imagesize(left, top, left + 50, top + 50);


p = malloc(area);

setcolor(WHITE);
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2);
outtextxy(155,451,"Smiling Face Animation");

setcolor(BLUE);
rectangle(0,0,639,449);

while(!kbhit())
{
temp1 = 1 + random ( 588 );
temp2 = 1 + random ( 380 );

getimage(left, top, left + 50, top + 50, p);


putimage(left, top, p, XOR_PUT);
putimage(temp1 , temp2, p, XOR_PUT);
delay(100);
left = temp1;
top = temp2;
}

getch();
closegraph();
return 0;
}

C programming code
#include<graphics.h>
#include<conio.h>
#include<dos.h>

main()
{
int gd = DETECT, gm, x, y, color, angle = 0;
struct arccoordstype a, b;

initgraph(&gd, &gm, "C:\\TC\\BGI");


delay(2000);

while(angle<=360)
{
setcolor(BLACK);
arc(getmaxx()/2,getmaxy()/2,angle,angle+2,100);
setcolor(RED);
getarccoords(&a);
circle(a.xstart,a.ystart,25);
setcolor(BLACK);
arc(getmaxx()/2,getmaxy()/2,angle,angle+2,150);
getarccoords(&a);
setcolor(GREEN);
circle(a.xstart,a.ystart,25);
angle = angle+5;
delay(50);
}

getch();
closegraph();
return 0;
}
C program countdown
This c graphics program performs countdown for 30 seconds.

C program countdown code


#include <graphics.h>
#include <dos.h>
#include <conio.h>

int main()
{
int gd = DETECT, gm, i;
char a[5];

initgraph( &gd, &gm, "C:\\TC\\BGI");

settextjustify( CENTER_TEXT, CENTER_TEXT );


settextstyle(DEFAULT_FONT,HORIZ_DIR,3);
setcolor(RED);

for (i = 30; i >=0; i--)


{
sprintf(a,"%d",i);
outtextxy(getmaxx()/2, getmaxy()/2, a);
delay(1000);

if ( i == 0 )
break;
cleardevice();
}

getch();
closegraph();
return 0;
}

You might also like