Ada beberapa opsi yang tersedia untuk melakukan pemrograman grafik menggunakan Ubuntu.
Menggunakan SDL
Jika Anda ingin menggunakan graphics.h
platform Ubuntu Anda perlu mengkompilasi dan menginstal libgraph
. Ini adalah implementasi API grafis turbo di Linux menggunakan SDL.
Ini tidak sangat kuat dan cocok untuk aplikasi kualitas produksi, tetapi sederhana dan mudah digunakan untuk tujuan pembelajaran.
Anda dapat mengunduhnya dari sini .
Pertama-tama tambahkan repositori Universe (karena beberapa paket yang diperlukan tidak tersedia di repositori utama):
sudo add-apt-repository universe
sudo apt-get update
Instalasi kedua esensial-esensial dan beberapa paket tambahan:
Untuk versi sebelum 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
Untuk 18,04 : Dari Ubuntu 18,04 guile-2.0
berfungsi dan libesd0-dev
sudah usang. Untuk ini, Anda perlu menambahkan repositori xenial
di sources.list
.
sudo nano /etc/apt/sources.list
Tambahkan baris ini:
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
Lari sudo apt-get update
. Kemudian instal paket menggunakan:
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
Sekarang ekstrak libgraph-1.0.2.tar.gz
file yang diunduh .
Buka folder yang diekstrak dan jalankan perintah berikut:
./configure
make
sudo make install
sudo cp /usr/local/lib/libgraph.* /usr/lib
Sekarang Anda dapat menggunakan #include<graphics.h>
Ubuntu dan baris berikut di program Anda:
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
Berikut adalah contoh program menggunakan 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;
}
Menggunakan OpenGL (via GLUT)
Meskipun OpenGL pada dasarnya dibuat untuk pemrograman 3D, menggambar bentuk 2D memberikan garis besar dasar dan pengantar untuk OpenGL dan memberikan ide tentang bagaimana memulai menggambar objek dalam OpenGL.
- Untuk menginstal GLUT, buka terminal dan ketik
sudo apt-get install freeglut3-dev
.
- Berikut ini adalah program grafis sederhana menggunakan 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;
}