SlideShare a Scribd company logo
Introduction to graphics programming in c
Date:27/03/2015
baabtra@baabte.com
facebook.com/baabtra
twitter.com/baabtra
in.linkedin.com/in/baabtra
Introduction to Graphics
Programming in
Team: Golden Girlzz
Contents
❏ Setting Up graphics using gcc
❏ Basic Idea About Graphics Programming in C
❏ Some functions in Graphics
❏ Working Example
❏ Computer Graphics is one of the most powerful and interesting aspect
of computers.
❏ There are many things we can do in graphics apart from drawing
figures of various shapes.
❏ All video games, animation, multimedia predominantly works using
computer graphics.
❏ There is a large number of functions in C which are used for putting pixel
on a graphic screen to form lines, shapes and patterns.
❏ The Default output mode of C language programs is “Text” mode.
❏ We have to switch to “Graphic” mode before drawing any graphical shape
like line, rectangle, circle etc.
❏ First of all, we must include the ”graphics.h” header file in our source
program
❏ GCC compiler doesn’t provides inbuilt facility to run graphics.h library.
❏ So you are not able to run graphics in C language
❏ To run "graphics.h" library in Ubuntu, following are some simple steps.
Graphics in C
Make sure that you have basic compilers installed. For this run the command:
Install few packages that required. Run the command:
Run “graphics.h” in Ubuntu
#1
sudo apt-get install build-essential
#2
sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-1.8 guile-
1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev libesd0-dev
libdirectfb-dev libdirectfb-extra libfreetype6-dev libxext-dev x11proto-
xext-dev libfreetype6 libaa1 libaa1-dev libslang2-dev libasound2
libasound2-dev
Now download libgraph
Copy libgraph-1.0.2.tar.gz to your home folder. Right click on it and select "Extract
Here".
Then run following commands one by one.
Now Ubuntu is ready to run graphics program. To do that add
#include<graphics.h> in your C program.
Here is a sample program to test it's working or not. sample.c
#3
cd libgraph-1.0.2
./configure
sudo make
sudo make install
sudo cp /usr/local/lib/libgraph.* /usr/li
#4
#include<graphics.h>
main() {
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
closegraph();
}
❏ Run it with following command:
If you get following screen then graphics.h is working
gcc sample.c -o sample -lgraph
./sample
#5
Initializing Graphics Mode
❏ The initgraph function is used to switch the output from text mode to
graphics mode
❏ The initgraph function takes three arguments
❏ Syntax: –
intigraph(&graphics_driver,&graphics_mode,Path _to_driver);
❏ Example:
If you are working on Turbo C, use the path “c:tcbgi”
initgraph(&dr, &md, NULL );
Graphics Driver
Type
Initial Graphics
Mode
Directory Path of
Graphics Driver
Closing Graphics Mode
❏ Graphics mode must be closed at the end
❏ For that function closegraph() is used
❏ Syntax: –
closegraph();
Some Functions in
“graphics.h”
void line(int x1, int y1, int x2, int y2);
❏ Remarks
➔ line draws a line from (x1, y1) to (x2, y2) using the
current color
line()
❏ line function is used to draw a line from a point(x1,y1) to
point(x2,y2)
❏ Syntax :-
Introduction to graphics programming in c
void circle(int x, int y, int radius);
● (x , y) -> Center point of circle
● radius-> Radius of circle
circle()
❏ Circle function is used to draw a circle with center (x,y) and
third parameter specifies the radius of the circle.
❏ Syntax :-
Introduction to graphics programming in c
void rectangle(int left, int top, int right, int
bottom);
rectangle()
❏ Coordinates of left top and right bottom corner are required
to draw the rectangle.
❏ Syntax:-
Introduction to graphics programming in c
void bar( left, top, right, bottom);
bar( )
❏ bar function draws a bar
❏ bar draws a filled-in, rectangular, two-dimensional bar.
❏ žSyntax:
Introduction to graphics programming in c
void ellipse(int x, int y, int stangle, int endangle, int
xradius, int yradius);
ellipse()
❏ Ellipse function 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.
❏ Syntax :-
Introduction to graphics programming in c
Note the Point:
In this, color can be represented
using the name of colors in
CAPITAL LETTER and also using
the numbers
Eg:
code 0 means BLACK
code 1 means BLUE
code 2 means GREEN
putpixel() and getpixel()
❏ getpixel() returns the color of pixel present at point(x, y)
❏ Syntax: –
❏ putpixel plots a pixel at a point(x, y) of specified color
❏ Syntax:-
int getpixel(int x, int y);
void putpixel(int x, int y, int color);
setbkcolor()
❏ setbkcolor function changes current background color e.g.
setbkcolor(YELLOW) changes the current background color to
YELLOW.
❏ Remember that default drawing color is WHITE and background color
is BLACK.
❏ Syntax :-
void setbkcolor(int color);
setcolor()
❏ setcolor() function changes current drawing color
❏ Syntax :-
❏ Example:
changes the current drawing color to YELLOW.
void setcolor(int color);
setcolor(YELLOW);
Text with Graphics
❏ There are functions in C language that draw text characters in
graphics mode.
❏ These functions can be used to mix text and graphics in the same
image.
❏ These functions also make it possible to change text font and very the
size of text.
outtext()
❏ displays a string in the viewport (graphics mode)
❏ Declaration:
❏ outtext display a text string, using the current justification settings and
the current font, direction, and size
❏ outtext outputs textstring at the current position (CP)
void outtext(char *textstring);
outtextxy()
❏ outtextxy displays a string at the specified location (graphics mode)
❏ Declaration:
❏ Remarks: outtextxy() display a text string, using the current
justification settings and the current font, direction, and size.(CP)
outtextxy() displays textstring in the viewport at the position (x, y)
void outtextxy(x, y, char *textstring);
Working
#include<graphics.h>
#include<stdio.h>
main() {
int gd = DETECT,gm,left=100,top=100,right=200,bottom=200;
int x=300,y=150,radius=50,color;
initgraph(&gd, &gm,NULL);
printf("Press any key to change the back color");
getch();
setbkcolor(2);
setcolor(RED);
outtext("Introduction to Graphics Programming....n");
outtextxy(100,100,"Text at position x=100 and y=100");
color=getpixel(0,0);
printf("color of pixel at (0,0) = %d",color);
putpixel(25,25,YELLOW);
putpixel(25,26,YELLOW);
putpixel(25,27,YELLOW);
rectangle(left, top, right, bottom);
circle(x, y, radius);
bar(left+100,top+100,right+100,bottom+100);
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;
}
and the output is..
Introduction to graphics programming in c
Introduction to graphics programming in c
US UK UAE
7002 Hana Road,
Edison NJ 08817,
United States of America.
90 High Street,
Cherry Hinton,
Cambridge, CB1 9HZ,
United Kingdom.
Suite No: 51, Oasis Center,
Sheikh Zayed Road, Dubai,
UAE
Email to info@baabtra.com or Visit baabtra.com
Looking for learning more about the above
topic?
India Centres
Emarald Mall (Big Bazar Building)
Mavoor Road, Kozhikode,
Kerala, India.
Ph: + 91 – 495 40 25 550
NC Complex, Near Bus Stand
Mukkam, Kozhikode,
Kerala, India.
Ph: + 91 – 495 40 25 550
Cafit Square IT Park,
Hilite Business Park,
Kozhikode
Kerala, India.
Email: info@baabtra.com
TBI - NITC
NIT Campus, Kozhikode.
Kerala, India.
Start up Village
Eranakulam,
Kerala, India.
Start up Village
UL CC
Kozhikode, Kerala
Follow us @ twitter.com/baabtra
Like us @ facebook.com/baabtra
Subscribe to us @ youtube.com/baabtra
Become a follower @ slideshare.net/BaabtraMentoringPartner
Connect to us @ in.linkedin.com/in/baabtra
Give a feedback @ massbaab.com/baabtra
Thanks in advance
www.baabtra.com | www.massbaab.com |www.baabte.com
Want to learn more about programming or Looking to become a good programmer?
Are you wasting time on searching so many contents online?
Do you want to learn things quickly?
Tired of spending huge amount of money to become a Software professional?
Do an online course
@ baabtra.com
We put industry standards to practice. Our structured, activity based courses are so designed
to make a quick, good software professional out of anybody who holds a passion for coding.

More Related Content

PPTX
Graphics in C programming
PDF
Unit-1 basics of computer graphics
PPTX
Header files in c
PDF
Computer graphics lab manual
PPTX
B. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
PPT
Lecture on graphics
PDF
Let us c yashwant kanetkar(1)
PPTX
Chapter 3 Output Primitives
Graphics in C programming
Unit-1 basics of computer graphics
Header files in c
Computer graphics lab manual
B. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
Lecture on graphics
Let us c yashwant kanetkar(1)
Chapter 3 Output Primitives

What's hot (20)

PPTX
Graphics in C++
PPT
Window to viewport transformation
PPTX
PPTX
Introduction to C programming
PPTX
Unit 11. Graphics
PPTX
String in c programming
PPT
File handling in c
PPTX
Input output statement in C
PDF
mid point algorithm.pdf
PPTX
Function in C Programming
PPTX
Storage class in C Language
PPTX
Operators and expressions in c language
PPTX
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPT
PPTX
Basic Input and Output
PPTX
Unit 3. Input and Output
PDF
FUNCTIONS IN C PROGRAMMING.pdf
PPTX
Clipping
PPTX
Variables in C++, data types in c++
PPTX
Presentation on C programming language
Graphics in C++
Window to viewport transformation
Introduction to C programming
Unit 11. Graphics
String in c programming
File handling in c
Input output statement in C
mid point algorithm.pdf
Function in C Programming
Storage class in C Language
Operators and expressions in c language
HOMOGENEOUS CO-ORDINATES IN COMPUTER GRAPHICS PPT
Basic Input and Output
Unit 3. Input and Output
FUNCTIONS IN C PROGRAMMING.pdf
Clipping
Variables in C++, data types in c++
Presentation on C programming language
Ad

Similar to Introduction to graphics programming in c (20)

PDF
Computer graphics practical(jainam)
DOCX
Computer graphics
PDF
Cg lab cse-v (1) (1)
PDF
bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
PPTX
7. chapter vi
DOCX
Computer graphics
PDF
C Graphics Functions
PDF
Basics of Computer graphics lab
DOCX
Computer graphics
PDF
Computer Graphics Concepts
PPT
Circles graphic
PPTX
Chapter 1
PPT
Powerpointpresentation.c
PPTX
Graphics mod
PDF
borland-style-graphics-for-dev-c.pdf
DOCX
Graphic Design Lab File.docx
PPTX
Graphics Programming in C
PPTX
lec 7 graphics in troduction to computing
PDF
Computer Graphics Programes
PPTX
Computer graphics presentation (wecompress.com) (1).pptx
Computer graphics practical(jainam)
Computer graphics
Cg lab cse-v (1) (1)
bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
7. chapter vi
Computer graphics
C Graphics Functions
Basics of Computer graphics lab
Computer graphics
Computer Graphics Concepts
Circles graphic
Chapter 1
Powerpointpresentation.c
Graphics mod
borland-style-graphics-for-dev-c.pdf
Graphic Design Lab File.docx
Graphics Programming in C
lec 7 graphics in troduction to computing
Computer Graphics Programes
Computer graphics presentation (wecompress.com) (1).pptx
Ad

More from baabtra.com - No. 1 supplier of quality freshers (20)

PPTX
Agile methodology and scrum development
PDF
Acquiring new skills what you should know
PDF
Baabtra.com programming at school
PDF
99LMS for Enterprises - LMS that you will love
PPTX
Chapter 6 database normalisation
PPTX
Chapter 5 transactions and dcl statements
PPTX
Chapter 4 functions, views, indexing
PPTX
PPTX
Chapter 2 grouping,scalar and aggergate functions,joins inner join,outer join
PPTX
Chapter 1 introduction to sql server
PPTX
Chapter 1 introduction to sql server
Agile methodology and scrum development
Acquiring new skills what you should know
Baabtra.com programming at school
99LMS for Enterprises - LMS that you will love
Chapter 6 database normalisation
Chapter 5 transactions and dcl statements
Chapter 4 functions, views, indexing
Chapter 2 grouping,scalar and aggergate functions,joins inner join,outer join
Chapter 1 introduction to sql server
Chapter 1 introduction to sql server

Recently uploaded (20)

PPTX
Geodesy 1.pptx...............................................
PPTX
436813905-LNG-Process-Overview-Short.pptx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPT
Project quality management in manufacturing
PDF
Monitoring Global Terrestrial Surface Water Height using Remote Sensing - ARS...
PPTX
web development for engineering and engineering
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
BRKDCN-2613.pdf Cisco AI DC NVIDIA presentation
PPT
Chapter 6 Design in software Engineeing.ppt
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
DOCX
573137875-Attendance-Management-System-original
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Internship_Presentation_Final engineering.pptx
PDF
Geotechnical Engineering, Soil mechanics- Soil Testing.pdf
Geodesy 1.pptx...............................................
436813905-LNG-Process-Overview-Short.pptx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Arduino robotics embedded978-1-4302-3184-4.pdf
Project quality management in manufacturing
Monitoring Global Terrestrial Surface Water Height using Remote Sensing - ARS...
web development for engineering and engineering
Operating System & Kernel Study Guide-1 - converted.pdf
BRKDCN-2613.pdf Cisco AI DC NVIDIA presentation
Chapter 6 Design in software Engineeing.ppt
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Model Code of Practice - Construction Work - 21102022 .pdf
MET 305 MODULE 1 KTU 2019 SCHEME 25.pptx
573137875-Attendance-Management-System-original
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Internship_Presentation_Final engineering.pptx
Geotechnical Engineering, Soil mechanics- Soil Testing.pdf

Introduction to graphics programming in c

  • 3. Contents ❏ Setting Up graphics using gcc ❏ Basic Idea About Graphics Programming in C ❏ Some functions in Graphics ❏ Working Example
  • 4. ❏ Computer Graphics is one of the most powerful and interesting aspect of computers. ❏ There are many things we can do in graphics apart from drawing figures of various shapes. ❏ All video games, animation, multimedia predominantly works using computer graphics.
  • 5. ❏ There is a large number of functions in C which are used for putting pixel on a graphic screen to form lines, shapes and patterns. ❏ The Default output mode of C language programs is “Text” mode. ❏ We have to switch to “Graphic” mode before drawing any graphical shape like line, rectangle, circle etc.
  • 6. ❏ First of all, we must include the ”graphics.h” header file in our source program ❏ GCC compiler doesn’t provides inbuilt facility to run graphics.h library. ❏ So you are not able to run graphics in C language ❏ To run "graphics.h" library in Ubuntu, following are some simple steps. Graphics in C
  • 7. Make sure that you have basic compilers installed. For this run the command: Install few packages that required. Run the command: Run “graphics.h” in Ubuntu #1 sudo apt-get install build-essential #2 sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-1.8 guile- 1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev libxext-dev x11proto- xext-dev libfreetype6 libaa1 libaa1-dev libslang2-dev libasound2 libasound2-dev
  • 8. Now download libgraph Copy libgraph-1.0.2.tar.gz to your home folder. Right click on it and select "Extract Here". Then run following commands one by one. Now Ubuntu is ready to run graphics program. To do that add #include<graphics.h> in your C program. Here is a sample program to test it's working or not. sample.c #3 cd libgraph-1.0.2 ./configure sudo make sudo make install sudo cp /usr/local/lib/libgraph.* /usr/li #4 #include<graphics.h> main() { int gd=DETECT,gm; initgraph(&gd,&gm,NULL); closegraph(); }
  • 9. ❏ Run it with following command: If you get following screen then graphics.h is working gcc sample.c -o sample -lgraph ./sample #5
  • 10. Initializing Graphics Mode ❏ The initgraph function is used to switch the output from text mode to graphics mode ❏ The initgraph function takes three arguments ❏ Syntax: – intigraph(&graphics_driver,&graphics_mode,Path _to_driver);
  • 11. ❏ Example: If you are working on Turbo C, use the path “c:tcbgi” initgraph(&dr, &md, NULL ); Graphics Driver Type Initial Graphics Mode Directory Path of Graphics Driver
  • 12. Closing Graphics Mode ❏ Graphics mode must be closed at the end ❏ For that function closegraph() is used ❏ Syntax: – closegraph();
  • 14. void line(int x1, int y1, int x2, int y2); ❏ Remarks ➔ line draws a line from (x1, y1) to (x2, y2) using the current color line() ❏ line function is used to draw a line from a point(x1,y1) to point(x2,y2) ❏ Syntax :-
  • 16. void circle(int x, int y, int radius); ● (x , y) -> Center point of circle ● radius-> Radius of circle circle() ❏ Circle function is used to draw a circle with center (x,y) and third parameter specifies the radius of the circle. ❏ Syntax :-
  • 18. void rectangle(int left, int top, int right, int bottom); rectangle() ❏ Coordinates of left top and right bottom corner are required to draw the rectangle. ❏ Syntax:-
  • 20. void bar( left, top, right, bottom); bar( ) ❏ bar function draws a bar ❏ bar draws a filled-in, rectangular, two-dimensional bar. ❏ žSyntax:
  • 22. void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius); ellipse() ❏ Ellipse function 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. ❏ Syntax :-
  • 24. Note the Point: In this, color can be represented using the name of colors in CAPITAL LETTER and also using the numbers Eg: code 0 means BLACK code 1 means BLUE code 2 means GREEN
  • 25. putpixel() and getpixel() ❏ getpixel() returns the color of pixel present at point(x, y) ❏ Syntax: – ❏ putpixel plots a pixel at a point(x, y) of specified color ❏ Syntax:- int getpixel(int x, int y); void putpixel(int x, int y, int color);
  • 26. setbkcolor() ❏ setbkcolor function changes current background color e.g. setbkcolor(YELLOW) changes the current background color to YELLOW. ❏ Remember that default drawing color is WHITE and background color is BLACK. ❏ Syntax :- void setbkcolor(int color);
  • 27. setcolor() ❏ setcolor() function changes current drawing color ❏ Syntax :- ❏ Example: changes the current drawing color to YELLOW. void setcolor(int color); setcolor(YELLOW);
  • 28. Text with Graphics ❏ There are functions in C language that draw text characters in graphics mode. ❏ These functions can be used to mix text and graphics in the same image. ❏ These functions also make it possible to change text font and very the size of text.
  • 29. outtext() ❏ displays a string in the viewport (graphics mode) ❏ Declaration: ❏ outtext display a text string, using the current justification settings and the current font, direction, and size ❏ outtext outputs textstring at the current position (CP) void outtext(char *textstring);
  • 30. outtextxy() ❏ outtextxy displays a string at the specified location (graphics mode) ❏ Declaration: ❏ Remarks: outtextxy() display a text string, using the current justification settings and the current font, direction, and size.(CP) outtextxy() displays textstring in the viewport at the position (x, y) void outtextxy(x, y, char *textstring);
  • 32. #include<graphics.h> #include<stdio.h> main() { int gd = DETECT,gm,left=100,top=100,right=200,bottom=200; int x=300,y=150,radius=50,color; initgraph(&gd, &gm,NULL); printf("Press any key to change the back color"); getch(); setbkcolor(2); setcolor(RED); outtext("Introduction to Graphics Programming....n"); outtextxy(100,100,"Text at position x=100 and y=100"); color=getpixel(0,0); printf("color of pixel at (0,0) = %d",color); putpixel(25,25,YELLOW); putpixel(25,26,YELLOW); putpixel(25,27,YELLOW); rectangle(left, top, right, bottom); circle(x, y, radius); bar(left+100,top+100,right+100,bottom+100); 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; }
  • 36. US UK UAE 7002 Hana Road, Edison NJ 08817, United States of America. 90 High Street, Cherry Hinton, Cambridge, CB1 9HZ, United Kingdom. Suite No: 51, Oasis Center, Sheikh Zayed Road, Dubai, UAE Email to [email protected] or Visit baabtra.com Looking for learning more about the above topic?
  • 37. India Centres Emarald Mall (Big Bazar Building) Mavoor Road, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 NC Complex, Near Bus Stand Mukkam, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 Cafit Square IT Park, Hilite Business Park, Kozhikode Kerala, India. Email: [email protected] TBI - NITC NIT Campus, Kozhikode. Kerala, India. Start up Village Eranakulam, Kerala, India. Start up Village UL CC Kozhikode, Kerala
  • 38. Follow us @ twitter.com/baabtra Like us @ facebook.com/baabtra Subscribe to us @ youtube.com/baabtra Become a follower @ slideshare.net/BaabtraMentoringPartner Connect to us @ in.linkedin.com/in/baabtra Give a feedback @ massbaab.com/baabtra Thanks in advance www.baabtra.com | www.massbaab.com |www.baabte.com
  • 39. Want to learn more about programming or Looking to become a good programmer? Are you wasting time on searching so many contents online? Do you want to learn things quickly? Tired of spending huge amount of money to become a Software professional? Do an online course @ baabtra.com We put industry standards to practice. Our structured, activity based courses are so designed to make a quick, good software professional out of anybody who holds a passion for coding.