1. Trang chủ
  2. » Công Nghệ Thông Tin

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

8 358 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 306,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đố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.. ứng dụng của kỹ thuật đ

Trang 1

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ư

Trang 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

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

Trang 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

Trang 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

Trang 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

bit

Blue bit IRGB

Value

Để 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ụ:

Trang 6

Blue Green Red Value

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ó

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)

Trang 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ố mμu kích thước ký tự

Trang 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 vμo bộ nhớ mμn 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 vμo bộ nhớ mμn hình

input AH=0Ch AL=mμu BH=trang

Ngày đăng: 24/07/2014, 10:21

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w