1.1. Tổng Quan 1.2. Đồ Họa Trong Devc++

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Tổng quan

Đồ họa trong DevC++

1.1. Tổng quan


1.2. Đồ họa trong DevC++

1
1.2. Đồ họa DevC++

1.2.1. File thư viện đồ họa


1.2.2. Tạo dự án (Project)
1.2.3. Bộ lệnh đồ họa

2
1.2.1. File thư viện đồ họa
Để dùng đồ họa DevC++ cần 2 file sau:
• libbgi.a: thư viện đồ họa
• winbgim.h: tệp header đồ họa
Giả sử DevC++ bạn cài trong thư mục
C:\Program Files (x86)\Dev-Cpp\
Vào thư mục sau để chép vào 2 file trên:
MinGW64\x86_64-w64-mingw32

3
1.2.1. File thư viện đồ họa

• Chép file libbgi.a vào thư mục


lib32
• Chép file winbgim.h vào thư mục
include

4
1.2.2. Tạo dự án
Để tạo một dự án thực hiện các bước sau:
1. menu File/New/ Project--> Console
Application và đánh vào tên dự án.
vd: VeHinh.DEV (*.DEV)
2. Ngầm định mở cửa số soạn thảo file
chính là main.cpp, soạn thảo trong
main.cpp và lưu lại với tên khác, nên
trùng với tên dự án như VeHinh.CPP
chương trình #include <winbgim.h> 5
1.2.2. Tạo dự án
Về sau có thể chọn menu Remove/Add File để
Remove main.cpp và Add file mình dùng.
3.menu Project/ Project Options/
•General/Type: chọn Win32 Console
•Compiler: chọn
TDM-GCC 4.8.1 32-bit Release
•Parameters/linker: đánh vào có cả dấu “-“
-lbgi
-lgdi32
6
1.2.3. Bộ lệnh đồ họa
int getch();
Lấy ký tự từ bàn phím-chờ ấn phím bất kỳ
int kbhit();
Kiểm tra trạng thái có phím bấm
void delay(ms);
Kéo trễ chương trình ms mimligiây

7
1.2.3. Bộ lệnh đồ họa
void initwindow(w, h);
Mở cửa sổ đồ họa với chiều rộng w, chiều cao h
void setwindowtitle(s);
Đặt tiêu đề s cho cửa sổ đồ họa
void cleardevice( );
Xóa thiết bị đồ họa (cửa sổ đồ họa)
void closegraph( );
Đóng cửa sổ đồ họa
8
1.2.3. Bộ lệnh đồ họa
int getbkcolor( );
Lấy màu nền hiện thời
int getcolor( );
Lấy màu vẽ hiện thời
void setbkcolor( c );
Đặt màu nền hiện thời là màu c
void setcolor( c );
Đặt màu vẽ hiện thời là màu c
9
1.2.3. Bộ lệnh đồ họa
int getmaxx( );
Lấy tọa độ x lớn nhất (chiều rộng cửa sổ)
int getmaxy( );
Lấy tọa độ y lớn nhất (chiều cao cửa sổ)
int getx( );
Lấy hoành độ hiện thời
int gety( );
Lấy tung độ hiện thời 10
1.2.3. Bộ lệnh đồ họa
void moveto(x, y);
Di chuyển đến tọa độ (x, y)
void moverel(dx, dy);
Di chuyển tương đối một véctơ (dx, dy)
void outtext(s);
Đưa xâu chữ s ra màn hình
void outtextxy(x, y, s);
Đưa xâu chữ s ra màn hình tại vị trí (x, y)
11
1.2.3. Bộ lệnh đồ họa
unsigned getpixel(x , y);
Lấy điểm ảnh tại vị trí (x , y)
void putpixel(x , y, c);
Bật điểm ảnh tại vị trí (x , y) với màu c
void line(x1, y1, x2, y2);
Kẻ đoạn thẳng với hai đầu mút cho trước
void lineto(x, y);
Kẻ đoạn thẳng đến (x, y)
void linerel(dx, dy);
Kẻ tương đối đoạn thẳng (dx, dy)
12
1.2.3. Bộ lệnh đồ họa
void rectangle(x1, y1, x2, y2);
Kẻ hình chữ nhật xác định bởi hai góc
void drawpoly(n+1, P);
Kẻ đa giác n đỉnh. Mảng P gồm 2(n+1) tọa độ của
n+1 đỉnh với đỉnh cuối trùng đỉnh đầu
void circle(x, y, r);
Kẻ đường tròn tâm (x, y) bán kính r
void floodfill(x, y, bc);
Tô vùng khép kín có điểm bên trong (x, y) và màu biên bc13
1.2.3. Bộ lệnh đồ họa
void fillpoly(n+1, P);
Tô đa giác được cho như lệnh drawpoly( )
void setviewport(x1, y1, x2, y2, clip);
Đặt cổng quan sát hình ảnh là hình chữ nhật với
tham số xén ảnh là clip.
void clearviewport(void);
Xóa cổng quan sát hình ảnh
void setwritemode(m);
Đặt chế độ ghi ảnh là m. m=XOR_PUT có thể xóa
14
hình ảnh bằng cách vẽ lại nó
1.5. Bài tập
Bài 1: Tìm hiểu nguyên lý hoạt động của màn
hình CRT và màn hình tinh thể lỏng LCD
Bài 2: Tìm hiểu thêm các lệnh đồ họa trong
<WINBGIM.H>
Bài 3: Viết chương trình nhập n và vẽ giữa
màn hình (cửa sổ) đa giác đều n cạnh.
Bài 4: Viết chương trình mô phỏng ăngten
phát sóng bằng cách vẽ xóa liên tiếp các đường
tròn lồng nhau. 15
1.5. Bài tập
Bài 5: Viết chương trình mô phỏng đĩa bay
bằng cách:
- Vẽ bầu trời sao bằng các điểm ảnh với tọa
độ và màu ngẫu nhiên.
- Vẽ rồi xóa liên tiếp hình vuông di chuyển
với các vị trí ngẫu nhiên không xa vị trí cũ.

16

You might also like