01/10/2018, 22:31

[Linux – Ubuntu – C/C++] Lập trình C với đồ họa trên Linux (Ubuntu) – Programming C with Graphics on Linux (Ubuntu)

[Linux – Ubuntu – C/C++] Lập trình C với đồ họa trên Linux (Ubuntu) – Programming C with Graphics on Linux (Ubuntu) Tháng Một 4, 2015 nguyenvanquan7826 LT C - C++ 8 responses Mở màn các bạn có thể xem hình minh họa sau: Để ...

[Linux – Ubuntu – C/C++] Lập trình C với đồ họa trên Linux (Ubuntu) – Programming C with Graphics on Linux (Ubuntu)

Mở màn các bạn có thể xem hình minh họa sau:
graphics in Linux

Để thực hiện được điều này trước tiên các bạn kiểm tra lại các gói cơ bản đã cài chưa:
sudo apt-get install build-essential

Tiếp theo hãy chạy lệnh sau trong Terminal để cài các gói cần thiết (Có thể trước khi chạy lệnh này các bạn cần update):

sudo apt-get update

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

Bây giờ hãy download libgraph tại đây
Copy the file libgraph-1.0.2.tar.gz vào home folder. Click chuột phải và chọn Extract here.

Chạy tiếp các lệnh sau:

cd libgraph-1.0.2
./configure
sudo make
sudo make install
sudo cp /usr/local/lib/libgraph.* /usr/lib

Bình thường với windows chúng ta có câu lệnh khởi tạo chế độ đồ họa:

int gd=DETECT,gm;
initgraph(&gd,&gm,"c:tcbgi");

Và bây giờ ta làm tuơng tự có điều thay “c:tcbgi” bằng NULL

int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);

Cuối cùng tạo 1 chuơng trình và biên dịch file graphics.cpp với lệnh sau:
g++ graphics.cpp -o graphics.o -lgraph
Chạy file graphics.o
./graphics.o

Một ví dụ đơn giản:

#include<graphics.h>
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int main()
{
    int gd,gm=VGAMAX; gd=DETECT;
    initgraph(&gd,&gm,NULL);
    setbkcolor(1);
    cleardevice();
    setcolor(4);
    char s1[] = "nguyenvanquan7826",
        s2[] = "Welcome to C++ graphics!",
        s3[] = "graphics on Linux";
 
    outtextxy(100,60,s3);
    outtextxy(70,40,s2);
    outtextxy(130,80,s1);
 
    setcolor(14);
    line(50,200,400,200);
    setcolor(4);
    for (int i=1; i<20; i++)
    {
        setcolor(i);
        delay(500);
        circle(100+10*i,200,80);
    }
 
    cin.get();
    return 0;
}

Kết quả:
đồ họa trong C với linux ubuntu

update thêm 1 ảnh minh họa:
graphics in C

#include<graphics.h>
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int main()
{
    int gd=DETECT,gm;
    initgraph(&gd,&gm,NULL);
    setbkcolor(1);      // set backgroud
    int x = 250;
    setcolor(12);            //outline heart
    circle(x+50,50,40);
    delay(1000);
    circle(x+110,50,40);
    delay(500);
    line(x+22,80,x+80,140);
    delay(500);
    line(x+80,140,x+138,80);
    delay(500);
 
    floodfill(x+50,50,12);     //fill heart
    delay(500);
    floodfill(x+110,50,12);
    delay(500);
    floodfill(x+80,50,12);
    delay(500);
    floodfill(x+80,100,12);
    delay(500);
 
    setcolor(RED);
    outtextxy(x+35,50,"We love Linux");
    outtextxy(x+35,150,"VietSource.net");
 
    cin.get();
    closegraph();
    return 0;
}

Tham khảo:

Lập trình C trên Ubuntu (Linux)

Đồ họa trong Dev-C

Tài liệu đồ họa trong C: dowload

Tuy nhiên hiện tại vẫn chưa biết cách đặt màu cho chữ. Nếu bạn biết cách khắc phục rất mong bạn chia sẻ.

Bài viết có tham khảo tại: http://blog.eternal-thinker.com

0