उबंटू का उपयोग करके ग्राफिक्स प्रोग्रामिंग करने के लिए कई विकल्प उपलब्ध हैं।
एसडीएल का उपयोग करना
यदि आप graphics.h
उबंटू प्लेटफॉर्म पर उपयोग करना चाहते हैं तो आपको संकलन और इंस्टॉल करने की आवश्यकता है libgraph
। यह एसडीएल का उपयोग करके लिनक्स पर टर्बो सी ग्राफिक्स एपीआई का कार्यान्वयन है।
यह उत्पादन की गुणवत्ता के आवेदन के लिए बहुत शक्तिशाली और उपयुक्त नहीं है, लेकिन यह सीखने के उद्देश्य के लिए सरल और आसान है।
आप इसे यहाँ से डाउनलोड कर सकते हैं ।
पहले यूनिवर्स रिपॉजिटरी जोड़ें (चूंकि कुछ आवश्यक पैकेज मुख्य रिपॉजिटरी में उपलब्ध नहीं हैं):
sudo add-apt-repository universe
sudo apt-get update
दूसरा स्थापित बिल्ड-आवश्यक और कुछ अतिरिक्त पैकेज:
18.04 से पहले के संस्करणों के लिए:
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 build-essential
18.04 के लिए : उबंटू से 18.04 guile-2.0
काम करता है और libesd0-dev
पदावनत किया जाता है। इसके लिए आपको के खजाने जोड़ने की जरूरत xenial
में sources.list
।
sudo nano /etc/apt/sources.list
इन पंक्तियों को जोड़ें:
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
भागो sudo apt-get update
। फिर पैकेज का उपयोग करके स्थापित करें:
sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-2.0 \
guile-2.0-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
अब डाउनलोड की हुई libgraph-1.0.2.tar.gz
फाइल को निकाले ।
निकाले गए फ़ोल्डर पर जाएं और निम्न कमांड चलाएँ:
./configure
make
sudo make install
sudo cp /usr/local/lib/libgraph.* /usr/lib
अब आप #include<graphics.h>
अपने प्रोग्राम में उबंटू और निम्न लाइन पर उपयोग कर सकते हैं :
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
यहां एक नमूना कार्यक्रम का उपयोग किया गया है graphics.h
:
/* demo.c */
#include <graphics.h>
int main()
{
int gd = DETECT,gm,left=100,top=100,right=200,bottom=200,x= 300,y=150,radius=50;
initgraph(&gd,&gm,NULL);
rectangle(left, top, right, bottom);
circle(x, y, radius);
bar(left + 300, top, right + 300, bottom);
line(left - 10, top + 150, left + 410, top + 150);
ellipse(x, y + 200, 0, 360, 100, 50);
outtextxy(left + 100, top + 325, "C Graphics Program");
delay(5000);
closegraph();
return 0;
}
OpenGL का उपयोग करना (GLUT के माध्यम से)
हालांकि ओपेन वील मूल रूप से 3 डी प्रोग्रामिंग के लिए बनाया गया है, 2 डी आकृतियों को ड्रॉ करना ओपेनग्ल को मूल रूपरेखा और परिचय देता है और ओपेनग्ल में ड्राइंग ऑब्जेक्ट्स को कैसे शुरू किया जाए, इस बारे में विचार देता है।
- GLUT स्थापित करने के लिए, टर्मिनल खोलें और टाइप करें
sudo apt-get install freeglut3-dev
।
- यहाँ GLUT का उपयोग करके एक सरल ग्राफिक्स प्रोग्राम है
/* demo.c */
#include <GL/gl.h>
#include <GL/glut.h>
#include <GL/glu.h>
void setup() { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); }
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(0.0f, 0.0f, 0.0f);
glRectf(-0.75f,0.75f, 0.75f, -0.75f);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
glutInitWindowSize(800,600);
glutCreateWindow("Hello World");
setup();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}