Graphics Programming Using CPP - Lab Handout 1
Computer Graphics (ITEC-613 & SENG-613)
BS(IT) P-IV & BS(SW) P-IV First Semester 2016
Lab Handout: 1
By: Dr. Zeeshan Bhatti
Turbo C/C++ has a good collection of graphics libraries. If you know the basics of C/C++, you can easily learn graphics programming. To start programming, let us write a small program that displays a circle on the screen.
Simple Graphics Program 1:
/* simple.c
*/
#include<graphics.h>
#include<conio.h>
void main()
{
int gd=DETECT, gm;
clrscr();
initgraph(&gd, &gm, "c:\\tc\\bgi " );
circle(200,100,150);
getch();
closegraph();
}
/* simple.c
*/
#include<graphics.h>
#include<conio.h>
void main()
{
int gd=DETECT, gm;
clrscr();
initgraph(&gd, &gm, "c:\\tc\\bgi " );
circle(200,100,150);
getch();
closegraph();
}
To run this program, you need graphics.h header file, graphics.lib library file and Graphics driver (BGI file) in the program folder. These files are part of Turbo C package. In all our programs we used 640x480 VGA monitor. So all the programs are according to that specification. For VGA monitor, graphics driver used is EGAVGA.BGI. Here, initgraph() function initializes the graphics mode and clears the screen.
Here,
initgraph() function initializes the graphics mode and
clears the screen.
initgraph
function:
Initializes
the graphics system.
Declaration:
initgraph(int
far *graphdriver, int far *graphmode, char far *pathtodriver);
Remarks:
To start the graphics system, you must first call initgraph.
initgraph
initializes the graphics system by loading a graphics driver from
disk (or validating a registered driver) then putting the system into
graphics mode.
initgraph
also resets all graphics settings (color, palette, current position,
viewport, etc.) to their defaults, then resets graphresult to 0.
Arguments:
*graphdriver:
Integer that specifies the graphics driver to be used. You can give
graphdriver a value using a constant of the graphics drivers
enumeration type.
*graphmode
: Integer that specifies the initial graphics mode (unless
*graphdriver = DETECT). If *graphdriver = DETECT, initgraph sets
*graphmode to the highest resolution available for the detected
driver. You can give *graphmode a value using a constant of the
graphics_modes enumeration type.
pathtodriver
: Specifies the directory path where initgraph looks for graphics
drivers (*.BGI) first. If they're not there, initgraph looks in the
current directory. If pathtodriver is null, the driver files must be
in the current directory. This is also the path settextstyle
searches for the stroked character font files (*.CHR).
closegraph()
function:
closegraph()
function switches back the screen from graphcs mode to text mode. It
clears the screen also. A graphics program should have a closegraph
function at the end of graphics. Otherwise DOS screen will not go to
text mode after running the program. Here, closegraph() is called
after getch() since screen should not clear until user hits a key.
If you have the BGI file in the same folder of your program, you can
just leave it as "" only. you need not mention *graphmode
if you give *graphdriver as DETECT.
To get details of different graphics modes and graphics drivers, view
appendix.
In graphics mode, all the screen co-ordinates are mentioned in terms
of pixels. Number of pixels in the screen decides resolution of the
screen. In the example 1.0, circle is drawn with x-coordinate of the
center 200, y-coordinate 100 and radius 150 pixels. All the
coordinates are mentioned with respect to top-left corner of the
screen.
you don't share java coding ?
ReplyDeleteyou don't share java coding ?
ReplyDeleteErst you beautification your course you ought to be fit to interpret the confounded programming module.In late these days designing has seized a major hop as now what is manikin abused in differed train stages. Java
ReplyDelete