Tải bản đầy đủ (.pdf) (8 trang)

Đồ họa máy tính - Chương 1 Màn hình của máy tính - Bài 1 ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (306.57 KB, 8 trang )



1
Chơng 1
Mn hình của máy tính
$1. Bi 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 lu 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 nhng 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 lu 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)
Kỹ thuật Đồ hoạ máy tính
2
- 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
Kỹ thuật Đồ hoạ máy tính
3
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.
Kỹ thuật Đồ hoạ máy tính
4
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
Kỹ thuật Đồ hoạ máy tính
5
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ụ:

Kỹ thuật Đồ hoạ máy tính
6
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ố mu
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)
Kỹ thuật Đồ hoạ máy tính
7
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ố mu 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

Kỹ thuật Đồ hoạ máy tính
8
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


$2. Truy cập vo bộ nhớ mn hình
Về nguyên tắc có 2 cách để truy cập bộ nhớ màn hình và các thanh ghi
+ Cách 1: Sử dụng các dịch vụ ngắt của ROM BIOS, ROM BIOS cung cấp
tơng đối đầy đủ các chơng trình con ứng với các ngắt để phục
vụ cho công việc này
+ Cách 2: Truy cập trực tiếp đa vào các địa chỉ của các cổng (port) thông
qua các ngôn ngữ lập trình
Cách 1 đơn giản tuy nhiên có nhợc điểm tốc độ truy nhập chậm
I. Sử dụng các dịch vụ ngắt Int 10H của ROM BIOS
Dới đây là một vài ngắt của ROM BIOS
1. Đa một pixel vo bộ nhớ mn hình
input AH=0Ch
AL=mu
BH=trang
CX=x (cột)

×