Giải thuật sinh ký tự

Một phần của tài liệu Bài giảng Kỹ thuật đồ họa: Phần 1 (Trang 35 - 36)

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)); }

: Cỏc giải thuật sinh thực thể cơ sở

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 (adsbygoogle = window.adsbygoogle || []).push({});

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 Bài giảng Kỹ thuật đồ họa: Phần 1 (Trang 35 - 36)