Giải thuật sinh ký tự

Một phần của tài liệu kĩ thuật đồ họa và ngôn ngữ c (Trang 33 - 34)

CHƯƠNG 2 : CÁC GIẢI THUẬT SINH THỰC THỂ CƠ SỞ

2.3. CÁC GIẢI THUẬT XÂY DỰNG THỰC THỂ CƠ SỞ

2.3.7. Giải thuật sinh ký tự

Trong màn hỡnh text, truy xuất cỏc ký tự trờn màn hỡnh được hỗ trợ bởi phần cứng. Cỏc ký tự được lưu trữ trong bộ nhớ ROM, dưới dạng bitmap hay cỏc ma trận ảnh. Phần cứng sẽ đưa ký tự lờn màn hỡnh tại vớ trớ xỏc định, tớnh toỏn cuốn trang và xuống dũng.

Trong đồ hoạ:

Vector: định nghĩa cỏc ký tự theo những đường cong mềm bao ngoài của chỳng,

tốn kộm về mặt tớnh toỏn.

Hỡnh 2.15 Ký tự vector

Ưu nhược điểm:

- phức tạp (tớnh toỏn phương trỡnh) - lưu trữ gọn nhẹ

- cỏc phộp biến đổi dựa vào cụng thức biến đổi

- Kớch thước phụ thuộc vào mụi trường (khụng cú kớch thước cố định)

Bitmap: định nghĩa mỗi ký tự với 1 font chữ cho trước là 1 ảnh bitmap hỡnh chữ nhật nhỏ.

Hỡnh 2.16 Ký tự bitmap

- Đơn giản trong việc sinh ký tự

(copypixel) - Lưu trữ lớn

- Cỏc phộp biến đổi(I,B,U, scale) đũi hỏi

lưu trữ thờm

- Kớch thước khụng đổi

bitmap: sử dụng hàm copypixel (copy điểm ảnh) được lưu trữ trong bộ nhớ cố định - Fontcache, đưa vào bộ nhớ đệm hiển thị. Mỗi 1 ký tự như 1 ma trận 2 chiều của

cỏc điểm ảnh - mặt nạ. Hàm_sinh_ki_tu (mask)

{xmax, ymax, xmin, ymin //cỏc giới hạn của mặt nạ xo, yo //điểm gốc trờn bộ đệm hiển thị for (i=ymin;i< ymax ;i++)

for (j=xmin; j< xmax ; j++) if (mask(i,j) <> 0)

copypixel ((mask(i,j), pixel(xo+j, yo+i));

Ký tự fontcache bitmap đơn giản của SRGP lưu trữ cỏc ký tự theo chuỗi liờn tiếp nhau trong bộ nhớ. Nhưng độ rộng cỏc ký tự khỏc nhau, truy nhập cỏc fontcache thụng

qua bản ghi về cấu trỳc cho từng kớ tự. Cấu trỳc font chữ

typedef struct { int leftx;

int width;

} Charlocation; //Vị trớ của text struct {

int CacheId;

int Height; // Độ rộng chữ

int CharSpace; // Khoảng cỏch giữa cỏc ký tự

Charlocation Table [128]; //bảng chữ cỏi } fontcache;

Ký tự vector

Xõy dựng theo phương phỏp định nghĩa cỏc ký tự bởi đường cong mềm bao ngoài của chỳng dễ dàng thay đổi kớch thước của kớ tự cũng như nội suy ra cỏc dạng của kớ tự. Hoàn toàn độc lập với thiết bị.

Tối ưu nhất: lưu trữ font dưới dạng đường bao. Khi cỏc chương trỡnh ứng dụng sử dụng là bitmap tương ứng với chỳng.

Một phần của tài liệu kĩ thuật đồ họa và ngôn ngữ c (Trang 33 - 34)

Tải bản đầy đủ (PDF)

(185 trang)