Giáo trình Đồ họa trong Pascal - Chương 1: Màn hình của máy tính - Bài 1: Bài mở đầu

I. Đối tượng nghiên cứu và ứng dụng của kỹ thuật đồ hoạ

1. Đối tượng nghiên cứu của kỹ thuật đồ hoạ

Từ khi máy tính ra đời các ứng dụng phi số ngày càng rộng rãi, một trong các ứng dụng là xử lý thông tin bằng hình ảnh. Trong lĩnh vực xử lý thông tin hình ảnh lại được chia thành 2 lĩnh vực:

- Kỹ thuật đồ hoạ

- Xử lý ảnh

Trong khi xử lý ảnh quan tâm đến cách thu nhận, khôi phục lưu trữ các hình ảnh (các hình ảnh này có thể có từ bất kỳ nguồn nào như video, camera.) thì kỹ thuật đồ hoạ tập trung vào vấn đề sử dụng máy tính để tạo ra hình ảnh. Rõ ràng kỹ thuật đồ hoạ và xử lý ảnh đều xử lý thông tin hình ảnh cho nên nó có quan hệ rất mật thiết với nhau nhưng mục đích nghiên cứu của chúng rất khác nhau

2. Ứng dụng của kỹ thuật đồ hoạ

Kỹ thuật đồ hoạ có ứng dụng rất rộng rãi từ khi tốc độ máy tính tăng, khả năng hiển thị của màn hình tốt, khả năng lưu trữ thông tin tăng. Kỹ thuật đồ hoạ được sử dụng trong 2 lĩnh vực chính:

- Vẽ kỹ thuật

- Mô phỏng

 

doc10 trang | Chia sẻ: hienduc166 | Lượt xem: 783 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Giáo trình Đồ họa trong Pascal - Chương 1: Màn hình của máy tính - Bài 1: Bài mở đầu, để tải tài liệu về máy bạn click vào nút TẢI VỀ ở trên
CHƯƠNG 1
MÀN HÌNH CỦA MÁY TÍNH
$1. BÀI MỞ ĐẦU
I. Đối tượng nghiên cứu và ứng dụng của kỹ thuật đồ hoạ
1. Đối tượng nghiên cứu của kỹ thuật đồ hoạ
Từ khi máy tính ra đời các ứng dụng phi số ngày càng rộng rãi, một trong các ứng dụng là xử lý thông tin bằng hình ảnh. Trong lĩnh vực xử lý thông tin hình ảnh lại được chia thành 2 lĩnh vực:
- Kỹ thuật đồ hoạ
- Xử lý ảnh
Trong khi xử lý ảnh quan tâm đến cách thu nhận, khôi phục lưu trữ các hình ảnh (các hình ảnh này có thể có từ bất kỳ nguồn nào như video, camera....) thì kỹ thuật đồ hoạ tập trung vào vấn đề sử dụng máy tính để tạo ra hình ảnh. Rõ ràng kỹ thuật đồ hoạ và xử lý ảnh đều xử lý thông tin hình ảnh cho nên nó có quan hệ rất mật thiết với nhau nhưng mục đích nghiên cứu của chúng rất khác nhau
2. Ứng dụng của kỹ thuật đồ hoạ
Kỹ thuật đồ hoạ có ứng dụng rất rộng rãi từ khi tốc độ máy tính tăng, khả năng hiển thị của màn hình tốt, khả năng lưu trữ thông tin tăng. Kỹ thuật đồ hoạ được sử dụng trong 2 lĩnh vực chính:
- Vẽ kỹ thuật 
- Mô phỏng
II. Màn hình máy vi tính 
1. Các chế độ làm việc
Màn hình là nơi thể hiện các thông tin, nó phản ảnh các kết quả tính toán, xử lý. Thông tin hiển thị có thể ở dạng văn bản, có thể ở dạng hình ảnh, tương ứng với các dạng thông tin cần hiển thị màn hình có 2 chế độ làm việc:
Chế độ văn bản (Text mode)
Chế độ đồ hoạ (Graphics mode)
Ở chế độ văn bản màn hình được chia thành 80 cột, 25 dòng, mỗi ô là giao của các dòng các cột tạo thành hộp ký tự (text box)
Ở chế độ đồ hoạ màn hình được chia thành số dòng, số cột lớn hơn tuỳ thuộc vào chất lượng của màn hình, số cột x số dòng y gọi là độ phân giải của màn hình, người ta dựa vào phân giải và số màu mà màn hình có thể hiển thị để phân chia màn hình thành các loại khác nhau như 
- MDA (Monochrome Display Adapter)
- CGA (Color Graphics Adapter)
- EGA (Enhance Graphics Adapter)
- VGA (Video Graphics Array)
- SVGA (Supper Video Graphics Array)
Mỗi màn hình có thể hoạt động ở một chế độ nào đó tuỳ thuộc vào chất lượng của màn hình - hiện nay các màn hình của họ PC có các chế độ sau tính theo hệ cơ số 16. Riêng Mode từ 13 trở đi chỉ dùng cho VGA trở lên
Dưới đây là bảng các mode của màn hình
Mode (Hexa)
Chế độ 
Độ phân giải
Số lượng màu
0
text
40x25
16
1
text
40x25
16
2
text
80x25
16
3
text
80x25
16
4
graph
320x200
4
5
graph
320x200
4
6
graph
320x200
2
7
text
80x25
16
D
graph
320x200
16
E
graph
640x200
16
F
graph
640x350
16
10
graph
640x350
16
11
graph
640x480
2
12
graph
640x480
16
13
graph
320x200
256
100
graph
640x400
256
101
graph
640x480
256
102
graph
800x600
16
103
graph
800x600
256
104
graph
1024x768
16
105
graph
1024x768
256
Dưới đây để phục vụ cho mục đích đồ hoạ chúng ta chỉ khảo sát các chế độ đồ hoạ 16 và 256 màu.
Để thiết lập chế độ đồ hoạ ta dùng thủ tục sau đây
Procedure set_mode(mode: integer);
Var
 R : registers;
Begin
 R.ax:=$4f02;
 R.bx:=mode;
 intr($10,R);
End;
Còn để đọc Mode màn hình ta dùng hàm sau đây
Function Get_mode: integer;
Var
 R : registers;
Begin
 R.ax:=$4f03;
 intr($10,R);
 Get_mode:=R.bx;
End;
Ví dụ : Đặt chế độ màn hình
Program Set_Get_Mode;
Uses crt,Graph,dos;
Var
 R : registers;
 mode,gd,gm : Integer;
Procedure set_mode(mode: integer);
Begin
 R.ax:=$4f02;
 R.bx:=mode;
 intr($10,R);
End;
Function Get_mode: integer;
Begin
 R.ax:=$4f03;
 intr($10,R);
 Get_mode:=R.bx;
End;
Begin
 mode:= Get_mode;
 gd:=0;
 Set_mode(mode);
 directvideo:=false;
 Writeln('mode la : ',Get_mode);
 InitGraph(gd,gm,' ');
 directvideo:=false;
 Writeln('mode la : ',Get_mode);
 Readkey;
 Set_mode(mode);
End.
2. Hệ toạ độ hiển thị trên màn hình
 Khi thực hiện các chế độ đồ hoạ người ta quy ước gắn trên màn hình hệ toạ độ Decac theo quy ước sau:
Trục X gọi là tọa độ cột, Y gọi là toạ độ hàng 
Ô có toạ độ X,Y là đơn vị đồ hoạ nhỏ nhất gọi là pixel - một pixel trên màn hình là hình ảnh của một điểm trong hệ toạ độ thực. Khó khăn cơ bản trong kỹ thuật đồ hoạ vi tính là người ta phải sử dụng các pixel có toạ độ nguyên để biểu diễn tất cả các điểm trong hệ toạ độ thực
Số pixel có được trên màn hình phụ thuộc vào độ phân giải của màn hình
Ví dụ:
CGA:	320x200
EGA:	640x350
VGA:	640x480
3. Nguyên tắc tạo màu của màn hình:
Để thể hiện màu của mỗi pixel trên màn hình người ta sử dụng 3 màu cơ bản: Red, Green, Blue. Loại màn hình tạo màu theo 3 màu cơ bản trên gọi là loại màn hình RGB. Từ 3 màu cơ bản này người ta tạo ra các màu khác bằng cách thay đổi cường độ sáng (Intensity) của các màu cơ bản trên
Chẳng hạn để có 16 màu từ 3 màu cơ bản trên người ta sử dụng 4 bit, 3 bit ứng với 3 màu cơ bản, một bit dùng để thay đổi cường độ sáng theo bảng sau:
Color
Itensity bit
Red bit
Green bit
Blue bit 
IRGB Value
Black
0
0
0 
0
0000
Blue
0
0
0
1
0001
Green
0
0
1
0
0010
Cyan
0
0
1
1
0011
Red
0
1
0
0
0100
Magenta
0
1
0
1
0101
Brown
0
1
1
0
0110
White
0
1
1
1
0111
Gray
1
0
0
0
1000
Bright Blue
1
0
0
1
1001
Bright green
1
0
1
0
1010
Bright Cyan
1
0
1
1
1011
Bright Red
1
1
0
0
1100
Bright magenta
1
1
0
1
1101
Yellow
1
1
1
0
1110
Bright White
1
1
1
1
1111
Để tạo ra 256 màu trên màn hình VGA có 3 nhóm bit kích hoạt, mỗi nhóm gồm 6 bit để thay đổi cường độ sáng của 3 màu cơ bản, các nhóm bit này được tạo thành 3 byte riêng biệt
 Ví dụ: 
Blue
Green
Red
Value
Black
00
00
00
00
Bright While
3F
3F
3F
$3F3F3F
Rõ ràng với cách tổ hợp này với màn hình VGA có thể tạo được
64 x 64 x 64 =262.144 màu khác nhau, màn hình VGA cho phép hiển thị cùng một lúc 256 màu trong số 262.144 màu có thể 
Số màu có thể hiển thị của một pixel phụ thuộc vào số bit dùng để biểu diễn nó
Bit/pixel
Số màu
1
2
2
4
4
16
8
264
4. Bộ nhớ màn hình (Display memory)
Bộ nhớ màn hình là vùng bộ nhớ dùng để chứa dữ liệu trực tiếp hiện ra màn hình, dữ liệu trong bộ nhớ màn hình thay đổi sẽ trực tiếp thay đổi trên màn hình
Ở chế độ văn bản (text mode) bộ nhớ chủ dành cho bộ nhớ màn hình được bắt đầu từ địa chỉ B800:0000 
Ở chế độ đồ hoạ (graphics mode) bộ nhớ chủ dành cho bộ nhớ màn hình được bắt đầu từ địa chỉ A000:0000
Với màn hình VGA kích thước chuẩn của bộ nhớ màn hình là 256Kb
Bộ nhớ màn hình có 2 cách tổ chức
Tổ chức dạng gói (packed format)
Tổ chức dạng mảng (bit plane)
Trong cách tổ chức dạng gói cả bộ nhớ màn hình là một mảng một chiều, mọi phần từ của mảng là 1 byte 
Trong cách tổ chức bit plane bộ nhớ của màn hình được tổ chức logic thành các mảng hai chiều. Trong các chế độ đồ hoạ 16 màu bộ nhớ màn hình được tổ chức thành 4 mảng gọi là 4 bit plane đánh số từ 0 đến 3
Tất cả các bit plane đều được truy nhập từ cùng một địa chỉ A000
Người lập trình có thể truy nhập vào các bit plane bằng các lệnh thông qua cổng hoặc bằng các ngắt của Rom Bios
Chỉ có thể đọc/ghi một byte trên cùng một bit plane. Một byte trên một bit plane chứa thông tin của 8 pixel lân cận theo hàng ngang
Muốn đọc thông tin của một pixel nào đó ta phải đọc 4 byte và tách 4 bit plane từ 4 byte này. Còn muốn ghi một pixel ta phải ghi 4 byte và do đó cũng có nghĩa là phải ghi 8 pixel.
5. Trang màn hình (Display page)
Trang màn hình là vùng bộ nhớ màn hình ứng với lượng thông tin hiển thị trên một màn hình. Vì vùng bộ nhớ màn hình chuẩn đạt tới 256Kb trong khi lượng thông tin để hiển thị trên một màn hình lại nhỏ hơn, để tạo ra tốc độ hiển thị nhanh, bộ nhớ màn hình cho phép tổ chức thành từng trang màn hình, các trang được đánh số từ 0 trở đi. Trang được hiển thị trên màn hình gọi là trang đang làm việc (active page). Tuỳ thuộc vào chế độ làm việc của màn hình mà bộ nhớ màn hình có số trang khác nhau. Dưới đây là số trang ở một số mode của EGA/VGA
Mode 
độ phân giải 
số trang 
số màu
 kích thước ký tự
D 
320*200 
8
 16 
8*8
E 
640*200
 4
 16 
8*8
10 
640*350 
2 
16 
8*14
12 
640*480 
1 
16 
8*16
- Chúng ta có thể tự hạn chế về số trang cho mỗi chế độ của màn hình. 
Ví dụ: 
- Mode E có tất cả 128000 pixel/page. Vì 8 pixel ứng với một byte trên một bit plane do đó cần 16000 byte/bit plane/ page - một trang cần 64000 byte xấp xỉ 64 kb.
Do vậy tối đa chỉ có thể hiển thị được 4 trang.
 - Mode D: có 64000 pixel/ page. Vì pixel ứng với một byte trên một bit plane do đó cần 8000 byte/ bit plane/ page - một trang cần 32000 byte xấp xỉ 32kb/page do đó tối đa chỉ có thể có 8 trang.
 - Người ta cũng có thể biết được địa chỉ đầu của mỗi trang trong từng chế độ làm việc của màn hình.
Mode D: 	A000 - A1F3F
	A200 - A3F3F
	A400 - A5F3F
	A600 - A7F3F
	A800 - A9F3F
	AA00 - ABF3F
	AC00 - ADF3F
	AE00 - AFF3F
Mode E: 	A000 - A3E7F
	A400 - A7E7F
	A800 - ABE7E
	AC00 - AFE7E

File đính kèm:

  • docBAI1.doc