11.01.2021»»понедельник

Graphics Programming In C Using Dev C++

11.01.2021

Graphics programming in C used to drawing various geometrical shapes(rectangle, circle eclipse etc), use of mathematical function in drawing curves, coloring an object with different colors and patterns and simple animation programs like jumping ball and moving cars.

Jun 02, 2016  Basic Graphic Programming in C Step 1: Download the DevC version 5.11 from here. Step 2: Download the Graphics header files, and etc stuff needed from the given dropbox link. Step 3: Extract the contents of the rar file. Step 4: Go to the location where DevC is installed. For me its D. Aug 19, 2011  Run Graphics programs in Dev C Many people uses Turbo c to run c and c programs. More people want to do graphics programs.If they use windows 7 64 bit they may not be able to run Turbo c. Dev C is more user friendly.Here you can see how to run graphics programs in Dev C.

1. First graphics program (Draw a line)

2. Explanation of Code :

The first step in any graphics program is to include graphics.h header file. The graphics.h header file provides access to a simple graphics library that makes it possible to draw lines, rectangles, ovals, arcs, polygons, images, and strings on a graphical window.

The second step is initialize the graphics drivers on the computer using initgraph method of graphics.h library.

It initializes the graphics system by loading the passed graphics driver then changing the system into graphics mode. It also resets or initializes all graphics settings like color, palette, current position etc, to their default values. Below is the description of input parameters of initgraph function.

C Graphics Programming In Dev C++

  • graphicsDriver : It is a pointer to an integer specifying the graphics driver to be used. It tells the compiler that what graphics driver to use or to automatically detect the drive. In all our programs we will use DETECT macro of graphics.h library that instruct compiler for auto detection of graphics driver.

  • graphicsMode : It is a pointer to an integer that specifies the graphics mode to be used. If *gdriver is set to DETECT, then initgraph sets *gmode to the highest resolution available for the detected driver.

  • driverDirectoryPath : It specifies the directory path where graphics driver files (BGI files) are located. If directory path is not provided, then it will search for driver files in current working directory directory. In all our sample graphics programs, you have to change path of BGI directory accordingly where you Turbo C++ compiler is installed.

We have declared variables so that we can keep track of starting and ending point.

No, We need to pass just 4 parameters to the line function.

line Function Draws Line From (x1,y1) to (x2,y2) .

Parameter Explanation

  • x1 - X Co-ordinate of First Point
  • y1 - Y Co-ordinate of First Point
  • x2 - X Co-ordinate of Second Point
  • y2 - Y Co-ordinate of Second Point

At the end of our graphics program, we have to unloads the graphics drivers and sets the screen back to text mode by calling closegraph function.

3. Colors in C Graphics Programming

There are 16 colors declared in graphics.h header file. We use colors to set the current drawing color, change the color of background, change the color of text, to color a closed shape etc (Foreground and Background Color). To specify a color, we can either use color constants like setcolor(RED), or their corresponding integer codes like setcolor(4). Below is the color code in increasing order.

ConstantValueBackground?Foreground?
BLACK0YesYes
BLUE1YesYes
GREEN2YesYes
CYAN3YesYes
RED4YesYes
MAGENTA5YesYes
BROWN6YesYes
LIGHTGRAY7YesYes
DARKGRAY8NOYes
LIGHTBLUE9NOYes
LIGHTGREEN10NOYes
LIGHTCYAN11NOYes
LIGHTRED12NOYes
LIGHTMAGENTA13NOYes
YELLOW14NOYes
WHITE15NOYes
BLINK128NO*

***** To display blinking characters in text mode, add BLINK to the foreground color. (Defined in conio.h)

4. Graphics example using color

5. Examples

Graphics Programming In C Using Dev C ++ Online

Example Statement for Graphics in C Language
1. Drawing Line in Graphics Mode
2. Make Static Countdown
3. Draw Moving a Car
4. Press Me Button Game
5. Draw Smiling Face Animation
6. Make Traffic Light Simulation

Creating 2D graphics programs under DOS is easy if you’re using [turbo c]. There is library file called graphics.h that does the tiresome work for you. But unfortunately this library is borland specific you can’t use it on other compilers.

Even though some peoples somehow managed to port it outside the turbo. Some people hacked their own version of graphics.h. One such person is Micheal main, he ported some of borland graphics functions and library.

Micheal main modified BGI library for windows application to be used under MinGW. This BGI library is renamed as WinBGIm. Now you can use all the borland specific functions under Dev-C++.

InstallationÂ

In order to run graphics programs under Dev-C++ you have to download WinBGIm files. Download the files listed below.

  • Graphics.h (download to C:Dev-Cppinclude)
  • libbgi.a(download to C:Dev-Cpplib)

Once you download the files. Now you have to place into the correct location in Dev-C++ installation folder. Try to locate include and lib folder under your dev-cpp installation. Move these files under the respective folder of include and lib. like e.g. D:Dev-cpp include & D:Dev-cpplib .

Configuration
At last step you’ve downloaded & installed the WinBGIm, now you have to configure it to use under Dev-C++. You’ve to set some project options in Dev-C++ in order to run WinBGIm references properly.
Follow the steps below to set proper project options for WinBGIm.

Tutorials

1. Go to the “File” menu and select “New”, “Project”,Choose “Empty Project” and make sure “C++ project” is selected. Give your project suitable name and click on “Ok”.

OR

1. You can create individual C++” source file” instead of “project”. Go to the “File” menu and select “New Source File” OR Go to the “Project” menu and select “New File”.

2. Go to “Project” menu and choose “Project Options”.
3. Go to the “Parameters” tab.
4. In the “Linker” field, enter the following text:

  • -lbgi
  • -lgdi32
  • -lcomdlg32
  • -luuid
  • -loleaut32
  • -lole32

5.Click “Ok” to save settings.
Now you’ve done with the configuration for WinBGIm. Please make sure you’ve done this step properly otherwise compiler will flag error.

Testing & Debugging

Now let’s write a small program to test how WinBGIm works. Here is the source code for the program. Type it down,save it with .cpp extension and compile and run to see the results.

#include <graphics.h>

#include <iostream>

using namespace std;

int main()
{
initwindow(800,600);
circle(200,300,600);
while(!kbhit());
closegraph();
return 0;
}
Loop recording traktor pro 2.

This is the program for displaying circle with respective parameters on window of size 800×600.This window will close when you press any key.If you’ve made settings correctly then you can view the graphics,without any problem.

C++ Graphics Programming Forms

What’s included ?
All the borland graphics batteries included, plus some additional written by other contributors of WinBGIm. With WinBGIm you can use most of the borlands graphics function & RGB colors. You can also use detectgraph() and initgraph() or you can use new function called initwindow(). You can even use some of the old mouse function such as int mousex() & int mousey() along with getmouseclick() & clearmouseclick(). For keyboard functions,you don’t have to include conio.h some of the functions are supported without it like void delay(int millisec),int getch( ),int kbhit( ).

Dev C++ Programming Manual

If you want to capture the screen where you’ve created your graphics. You can do it with help of these functions getimage(),imagesize(), printimage(), putimage(), readimagefile() ,writeimagefile().

Help & Support
If you’re into some trouble with installation & configuration,then please post your questions here. But please don’t post homework problems or your custom projects.Google groups is the right place to get answers in such cases. You can even get lot of support with WinBGIm and Dev-C++ at Google groups. If you want to read about the WinBGIm documentation & FAQ.

C++ Graphics Programming Tutorials

If you’ve any question or suggestion then don’t hesitate to post it here.If you know any alternative than WinBGIm,please post about it here.