C and C++ Programming Resources

Custom Search

Graphics in C Language

Graphics Libraray in C/C++ Programming

Graphics library provided by borland C is most widely used library for graphics programming. Mostly this graphics library is restricted to be used under 16 bit C programming and MS DOS environment. As discussed earlier that first of all you need to initialize the graphics drivers on the computer. This is done using the initgraph() method provided in graphics.h library. graphics.h is used to include the reference to the graphics library, but actual graphics library can be found in lib directory with the name of graphics.lib. In Dev C++ there is no default graphics library, but there are some third party graphics libraries to be used with Dev C++. You can download this library here, after downloading the library you can read through the manual and copy all the files at their desired locations. Also you will have to add reference to this graphics library in your projects or programs.

Adding the graphics.h in your C programs

If you are using borland C/C++ compiler to program, then you will have to follow these simple steps in orderd to get your C or C++ program running in graphics mode.

  • First you will need to add #include <graphics.h> reference at the top of you C/C++ program.
  • Next step is to initialize the graphics environment. This can be achieved using the function
    void far initgraph(int far *driver, int far *mode, char far *path)
  • Here path is the actual path to the graphics library. You can give the path to this library by giving the complete path, like “C:\\TC\\BGI”, where BGI is the graphics library directory.
  • Afeter initializing the graphics mode you can check for any error which may happen while initializing the graphics mode. The function used to find out any errors is int errorcode = graphresult() which returns the error code for the specific error.
  • If you pass this errorcode to grapherrormsg() function the, it will return the complete description of the error message. And if the errorcode==grOk the you are on the way to develop your first graphics program using C/C++.

If you are using Dev C++ compiler for your graphcis programs then you can follow these simple steps to configure your environment for graphics programming.

Sinple graphics functions

I am providing few functions here with some description to make you start with graphcis programming. I have posted the complete description with a demo C/C++ graphics program at my C and C++ Programming Blog. You can find my blog here, there are three parts of the posts about graphics.h library. First part of the post discusses the necesary functions to get the program ready to draw shapes and styles, second post provides description of necessary functions to draw different shapes and fill them with colors or textures. And the last part is a sample program to demonstrate that how you can write programs in graphics mode.

Function circle

Draws the circle on the screen using a point(x,y) and the radius for the circle.

void far circle(int x, int y, int radius)

Function line

This function draws a line in the graphics mode.

void far line(int startx, int starty, int endx, int endy)

Function outtext

Displays a text string on the grpahics screen.

void far outtext(char far *str)

Function outtextxy

Displays the text at a specified position in graphics mode.

void far outtext(int x, int y, char *str)

Function rectangle

Draws a rectangular box on the screen using the points given in the parameters.

void far rectangle(int left, int top, int right, int bottom)

Pages: [Page - 1] [Page - 2] [Page - 3] [Page - 4]

Tags: , ,

There are 144 Comments to this post. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response or TrackBack from your own site.

  • Junjun says:

    I need to make a programming that works like a voting system…compute votes…and calculates score for finalist and display them in a data text file…using classes and object can anyone help me…

  • Ankit says:

    //This is a game cross and nought( Zero Katta) in c++.

    void show_game_box();
    char m[3][3];
    void main()
    {
    int p,q;
    char ans;
    cout<<"\t\tCROSS & NOUGHT GAME\n";
    do
    {
    for(p=1;p<=3;p++)
    {
    for(q=1;q<=3;q++)
    {
    m[p][q]='';
    }
    }
    int i,j,sum=0;
    while(sum<10)
    {
    if(sum==0)
    show_game_box();
    cout<<"\n\n\nPlayer 1 is'0'\n";
    cout<<"Player 1's turn\n";
    cout<>i;
    cout<>j;
    for(;(i>3)||(j<1)||('X'==m[i][j])||('0'==m[i][j]);)
    {
    cout<<"Sorry you entered wrong choice\n";
    cout<<"Enter your choice again\n";
    cout<>i;
    cout<>j;
    }
    m[i][j]=’0′;
    sum++;
    show_game_box();
    if((m[1][1]==’0′)&&(m[1][1]==m[1][2])&&(m[1][1]==m[1][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if((m[2][1]=='0')&&(m[2][1]==m[2][2])&&(m[2][1]==m[2][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if((m[3][1]=='0')&&(m[3][1]==m[3][2])&&(m[3][1]==m[3][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if((m[1][1]=='0')&&(m[1][1]==m[2][2])&&(m[1][1]==m[3][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if((m[1][3]=='0')&&(m[1][3]==m[2][2])&&(m[1][1]==m[3][1]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if((m[1][1]=='0')&&(m[1][1]==m[2][1])&&(m[1][1]==m[3][1]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if((m[1][2]=='0')&&(m[1][2]==m[2][2])&&(m[1][2]==m[3][2]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if((m[1][3]=='0')&&(m[1][3]==m[2][3])&&(m[1][1]==m[3][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 1 wins the game\n";
    break;
    }
    if(sum==9)
    {
    cout<<"\t\tHURRAY!!!!! The game is over\n";
    cout<<"\t\tNO ONE WINS\n";
    cout<<"The game is draw\n";
    break;
    }
    cout<<"\n\n\nPlayer 2 is'X'\n";
    cout<<"Player 2's turn\n";
    cout<>i;
    cout<>j;
    for(;(i>3)||(j<1)||('X'==m[i][j])||('0'==m[i][j]);)
    {
    cout<<"Sorry you entered wrong choice\n";
    cout<<"Enter your choice again\n";
    cout<>i;
    cout<>j;
    }
    m[i][j]=’X';
    sum++;
    show_game_box();
    if((m[1][1]==’X')&&(m[1][1]==m[1][2])&&(m[1][1]==m[1][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if((m[2][1]=='X')&&(m[2][1]==m[2][2])&&(m[2][1]==m[2][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if((m[3][1]=='X')&&(m[3][1]==m[3][2])&&(m[3][1]==m[3][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if((m[1][1]=='X')&&(m[1][1]==m[2][2])&&(m[1][1]==m[3][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if((m[1][3]=='X')&&(m[1][3]==m[2][2])&&(m[1][1]==m[3][1]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if((m[1][1]=='X')&&(m[1][1]==m[2][1])&&(m[1][1]==m[3][1]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if((m[1][2]=='X')&&(m[1][2]==m[2][2])&&(m[1][2]==m[3][2]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if((m[1][3]=='X')&&(m[1][3]==m[2][3])&&(m[1][1]==m[3][3]))
    {
    cout<<"CONGRATULATIONS!!!!!!!!!!\n";
    cout<<"player 2 wins the game\n";
    break;
    }
    if(sum==9)
    {
    cout<<"\t\tHURRAY The game is over\n";
    cout<<"\t\tNO ONE WINS\n";
    cout<<"\t\tThe game is drawn\n";
    break;
    }
    }
    cout<>ans;
    }while((ans==’y')||(ans==’Y'));
    system(“PAUSE”);
    getch();
    }
    void show_game_box()
    {
    cout<<"\n 1 2 3\n"<<endl;
    cout<<" 1 "<<m[1][1]<<"|"<<m[1][2]<<"|"<<m[1][3]<<endl;
    cout<<" -|-|-\n";
    cout<<" 2 "<<m[2][1]<<"|"<<m[2][2]<<"|"<<m[2][3]<<endl;
    cout<<" -|-|-\n";
    cout<<" 3 "<<m[3][1]<<"|"<<m[3][2]<<"|"<<m[3][3]<<"\n\n\n";
    }

  • juhihumera says:

    can i have the list of all the funcions in c graphics……

  • suchit says:

    could anyone help me to get a code for conversion of a digital image file into the matrix containing the pixels values of the image..

  • sadi says:

    I need a program in computer graphics using c language. please write a program for moving a person with flag.thank you.

  • suryana says:

    can u give a tutorial about this.

    Project Name: Implementation of Recursion and Tracing its Stack (Graphically)

    Description: This project will implement and trace recursive functions graphically.

  • suryana says:

    i using a turbo c++ to do a graphical in C..this error be occur what should i do…
    Fatal ..\INCLUDE\GRAPHICS.H 19: Error directive: BGI graphics not supported under Windows

  • smartanu says:

    i using a tc3 to do a graphical in C..this error be occur what should i do…
    #include
    #include
    #include
    #include
    #include
    void draw(int x1,int y1,int x2,int y2);
    void main()
    {

    int x1,y1,x2,y2;
    int gdriver=DETECT,gmode,errorcode;
    initgraph(&gdriver,&gmode,”C:\\TC\\BGI”);
    printf(“Enter the first point \n”);
    scanf(“%d%d”,&x1,&y1);
    printf(“\n\n Enter the second point”);
    scanf(“%d%d”,&x2,&y2);
    printf(“\n\n The line is shown below”);
    draw(x1,y1,x2,y2);
    getch();
    }
    void draw(int x1,int y1,int x2,int y2)
    {
    int x,y,e,i,dx,dy,a;
    x=x1;
    y=y1;
    dx=x2-x1;
    dy=y2-y1;
    a=dx;
    dx=dy;
    dy=a;
    e=2*dy-dx;
    for(i=1;i0)
    {
    x=x+1;
    e=e-2*dx;
    }
    y=y+1;
    e=e+2*dy;
    }
    getch();
    }
    when i run this programme getting error
    Linker error:undefined symbol _putpixel in module myfile name.
    i have executed this programme in lab pc.

  • Saqib says:

    amit srivastava:
    You can capture the mouse movement using MFC in VC++ in the following way. Create a standard MFC exe file and in DocumentView calss there will be mouse events i.e. OnMouseMove(), OnLButtonDown(), you can get the position of mouse in any function. Both the function accepts two parameters (UINT nFlags, CPoint point). And in Point object there will be mouse position (x,y) and you can get them easily.

    @raj:
    You can get a calculator progam here.
    http://www.mycplus.com/free-utilities/scientific-calculator/

    @Gcablay_18:
    There are tutorials available here in C++ for creating classes.
    http://www.mycplus.com/tutorials/cplusplus-programming-tutorials/classes-2/

    @vineet:
    This function shutdown the graphics mode and returns to the position it was before the initgraph function was called. Closegraph function releases all the resources occupied by the graphics system like memry, fonts, drivers etc…
    You can learn more about graphics functions here
    http://www.mycplus.com/featured-articles/c-language-graphics-library-reference-part-1/


Leave a Reply

You must be logged in to post a comment.