SlideShare a Scribd company logo
1 of 39
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 :-
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 :-
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:-
void bar( left, top, right, bottom);
bar( )
❏ bar function draws a bar
❏ bar draws a filled-in, rectangular, two-dimensional bar.
❏ žSyntax:
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 :-
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..
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

What's hot

file pointers & manipulators.pptx
file pointers & manipulators.pptxfile pointers & manipulators.pptx
file pointers & manipulators.pptx
MEGULRAJS
 
Two dimensional geometric transformations
Two dimensional geometric transformationsTwo dimensional geometric transformations
Two dimensional geometric transformations
Mohammad Sadiq
 
Ellipses drawing algo.
Ellipses drawing algo.Ellipses drawing algo.
Ellipses drawing algo.
Mohd Arif
 
Midpoint circle algo
Midpoint circle algoMidpoint circle algo
Midpoint circle algo
Mohd Arif
 

What's hot (20)

Presentation on c structures
Presentation on c   structures Presentation on c   structures
Presentation on c structures
 
Typecasting in c
Typecasting in cTypecasting in c
Typecasting in c
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
File in C language
File in C languageFile in C language
File in C language
 
file pointers & manipulators.pptx
file pointers & manipulators.pptxfile pointers & manipulators.pptx
file pointers & manipulators.pptx
 
Two dimensional geometric transformations
Two dimensional geometric transformationsTwo dimensional geometric transformations
Two dimensional geometric transformations
 
Ellipses drawing algo.
Ellipses drawing algo.Ellipses drawing algo.
Ellipses drawing algo.
 
Memory Management C++ (Peeling operator new() and delete())
Memory Management C++ (Peeling operator new() and delete())Memory Management C++ (Peeling operator new() and delete())
Memory Management C++ (Peeling operator new() and delete())
 
Introduction to Input/Output Functions in C
Introduction to Input/Output Functions in CIntroduction to Input/Output Functions in C
Introduction to Input/Output Functions in C
 
C Graphics Functions
C Graphics FunctionsC Graphics Functions
C Graphics Functions
 
Type conversion
Type conversionType conversion
Type conversion
 
2D Transformation in Computer Graphics
2D Transformation in Computer Graphics2D Transformation in Computer Graphics
2D Transformation in Computer Graphics
 
Decision Making and Looping
Decision Making and LoopingDecision Making and Looping
Decision Making and Looping
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member Functions
 
Strings in C
Strings in CStrings in C
Strings in C
 
Character generation techniques
Character generation techniquesCharacter generation techniques
Character generation techniques
 
C Structures and Unions
C Structures and UnionsC Structures and Unions
C Structures and Unions
 
Pointers in c++
Pointers in c++Pointers in c++
Pointers in c++
 
Midpoint circle algo
Midpoint circle algoMidpoint circle algo
Midpoint circle algo
 
Strings Functions in C Programming
Strings Functions in C ProgrammingStrings Functions in C Programming
Strings Functions in C Programming
 

Similar to Introduction to graphics programming in c

bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdfbfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
shehabhamad_90
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
amitsarda3
 
Lec 7 28_aug [compatibility mode]
Lec 7 28_aug [compatibility mode]Lec 7 28_aug [compatibility mode]
Lec 7 28_aug [compatibility mode]
Palak Sanghani
 

Similar to Introduction to graphics programming in c (20)

bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdfbfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
bfd23fd7-0d89-45c0-8b82-c991b30ed375.pdf
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Circles graphic
Circles graphicCircles graphic
Circles graphic
 
Computer graphics practical(jainam)
Computer graphics practical(jainam)Computer graphics practical(jainam)
Computer graphics practical(jainam)
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
7. chapter vi
7. chapter vi7. chapter vi
7. chapter vi
 
Computer graphics
Computer graphics Computer graphics
Computer graphics
 
Powerpointpresentation.c
Powerpointpresentation.cPowerpointpresentation.c
Powerpointpresentation.c
 
Computer graphics lab assignment
Computer graphics lab assignmentComputer graphics lab assignment
Computer graphics lab assignment
 
Graphics mod
Graphics modGraphics mod
Graphics mod
 
Computer Graphics Concepts
Computer Graphics ConceptsComputer Graphics Concepts
Computer Graphics Concepts
 
Creating a rainbow using graphics programming in c
Creating a rainbow using graphics programming in cCreating a rainbow using graphics programming in c
Creating a rainbow using graphics programming in c
 
CS 354 Viewing Stuff
CS 354 Viewing StuffCS 354 Viewing Stuff
CS 354 Viewing Stuff
 
Creating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdfCreating an Uber Clone - Part IV - Transcript.pdf
Creating an Uber Clone - Part IV - Transcript.pdf
 
Drawing Figures
Drawing FiguresDrawing Figures
Drawing Figures
 
Computer graphics lab manual
Computer graphics lab manualComputer graphics lab manual
Computer graphics lab manual
 
Applet life cycle
Applet life cycleApplet life cycle
Applet life cycle
 
ch03g-graphics.ppt
ch03g-graphics.pptch03g-graphics.ppt
ch03g-graphics.ppt
 
Introduction to Coding
Introduction to CodingIntroduction to Coding
Introduction to Coding
 
Lec 7 28_aug [compatibility mode]
Lec 7 28_aug [compatibility mode]Lec 7 28_aug [compatibility mode]
Lec 7 28_aug [compatibility mode]
 

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

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

Agile methodology and scrum development
Agile methodology and scrum developmentAgile methodology and scrum development
Agile methodology and scrum development
 
Best coding practices
Best coding practicesBest coding practices
Best coding practices
 
Core java - baabtra
Core java - baabtraCore java - baabtra
Core java - baabtra
 
Acquiring new skills what you should know
Acquiring new skills   what you should knowAcquiring new skills   what you should know
Acquiring new skills what you should know
 
Baabtra.com programming at school
Baabtra.com programming at schoolBaabtra.com programming at school
Baabtra.com programming at school
 
99LMS for Enterprises - LMS that you will love
99LMS for Enterprises - LMS that you will love 99LMS for Enterprises - LMS that you will love
99LMS for Enterprises - LMS that you will love
 
Php sessions & cookies
Php sessions & cookiesPhp sessions & cookies
Php sessions & cookies
 
Php database connectivity
Php database connectivityPhp database connectivity
Php database connectivity
 
Chapter 6 database normalisation
Chapter 6  database normalisationChapter 6  database normalisation
Chapter 6 database normalisation
 
Chapter 5 transactions and dcl statements
Chapter 5  transactions and dcl statementsChapter 5  transactions and dcl statements
Chapter 5 transactions and dcl statements
 
Chapter 4 functions, views, indexing
Chapter 4  functions, views, indexingChapter 4  functions, views, indexing
Chapter 4 functions, views, indexing
 
Chapter 3 stored procedures
Chapter 3 stored proceduresChapter 3 stored procedures
Chapter 3 stored procedures
 
Chapter 2 grouping,scalar and aggergate functions,joins inner join,outer join
Chapter 2  grouping,scalar and aggergate functions,joins   inner join,outer joinChapter 2  grouping,scalar and aggergate functions,joins   inner join,outer join
Chapter 2 grouping,scalar and aggergate functions,joins inner join,outer join
 
Chapter 1 introduction to sql server
Chapter 1 introduction to sql serverChapter 1 introduction to sql server
Chapter 1 introduction to sql server
 
Chapter 1 introduction to sql server
Chapter 1 introduction to sql serverChapter 1 introduction to sql server
Chapter 1 introduction to sql server
 
Microsoft holo lens
Microsoft holo lensMicrosoft holo lens
Microsoft holo lens
 
Blue brain
Blue brainBlue brain
Blue brain
 
5g
5g5g
5g
 
Aptitude skills baabtra
Aptitude skills baabtraAptitude skills baabtra
Aptitude skills baabtra
 
Gd baabtra
Gd baabtraGd baabtra
Gd baabtra
 

Recently uploaded

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Recently uploaded (20)

Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur EscortsRussian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
Russian Call Girls in Nagpur Grishma Call 7001035870 Meet With Nagpur Escorts
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 

Introduction to graphics programming in c

  • 1.
  • 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 :-
  • 15.
  • 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 :-
  • 17.
  • 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:-
  • 19.
  • 20. void bar( left, top, right, bottom); bar( ) ❏ bar function draws a bar ❏ bar draws a filled-in, rectangular, two-dimensional bar. ❏ žSyntax:
  • 21.
  • 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 :-
  • 23.
  • 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; }
  • 34.
  • 35.
  • 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 info@baabtra.com 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: info@baabtra.com 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.