Xử lý văn bản đồ họa bằng C/ C++

2619
HIỂN THỊ VĂN BẢN TRÊN MÀN HÌNH ĐỒ HỌA

Cú pháp: void outtext(char *s);
s: chuỗi văn bản được hiển thị tại vị trí con trỏ đồ họa hiện tại
Cú pháp: void outtextxy(int x, int y,char *s);
(x,y): tọa độ sẽ hiển thị chuỗi
s: chuỗi văn bản sẽ được hiển thị
Ví dụ:
Hai cách viết dưới đây:
            outtextxy(50,50,” Say HELLO”);
             và
            moveto(50,50);
            outtext(“ Say HELLO”);
            cho cùng một kết quả.

SỬ DỤNG FONT CHỮ

Các Fonts chữ nằm trong các tập tin *.CHR trên đĩa. Các Fonts này cho các kích thước và kiểu chữ khác nhau, chúng sẽ được hiển thị lên màn hình bằng các hàm outtext và outtextxy. Để chọn và nạp Fonts ta dùng hàm:
Cú pháp: void settextstyle(int font, int directin, int charsize);
+ font: lựa chọn kiểu chữ và nhận một trong các hằng sau:
                   DEFAULT_FONT=0                   TRIPLEX_FONT=1
                   SMALL_FONT=2                      SANS_SERIF_FONT=3
                   GOTHIC_FONT=4
+ derection: để chọn hướng chữ và nhận một trong các hằng sau:
       HORIZ_DIR=0  văn bản hiển thị theo hướng nằm ngang từ trái qua phải.
       VERT_DIR=1    văn bản hiển thị theo hướng thẳng đứng từ dưới lên trên.
+ Charsize: là hệ số phóng to của ký tự và có giá trị trong khoảng từ 1 đến 10.
            Khi charsize=1, font hiển thị trong hình chữ nhật 8*8 pixel.
            Khi charsize=2 font hiển thị trong hình chữ nhật 16*16 pixel.
                        …………

            Khi charsize=10, font hiển thị trong hình chữ nhật 80*80 pixel.
Các giá trị do settextstyle lập ra sẽ giữ nguyên tới khi gọi một settextstyle mới.
Ví dụ:
            Các dòng lệnh:
              settextstyle(3,1,3);
              outtextxy(30,30,”GODS TRUST YOU”);
sẽ hiển thị tại vị trí (30,30) dòng chữ GODS TRUST YOU  theo chiều từ dưới lên trên, font chữ chọn là SANS_SERIF_FONT và cỡ chữ là 2.

** Đặt vị trí hiển thị của các xâu ký tự cho bởi outtext và outtextxy:

Cú pháp: void settextjustify(int horiz, int vert);
+ horiz: có thể là một trong các hằng số sau:
                        LEFT_TEXT=0       ( Văn bản xuất hiện bên phải con chạy)
                        CENTER_TEXT     ( Chỉnh tâm văn bản theo vị trí con chạy).
                        RIGHT_TEXT         (Văn bản xuất hiện bên trái con chạy).
+ vert: có thể là một trong các hằng số sau:
                        BOTTOM_TEXT=0 ( Văn bản xuất hiện phía trên con chạy).
                        CENTER_TEXT=1  ( Chỉnh tâm văn bản theo vị trí con chạy).
                        TOP_TEXT=2          ( Văn bản xuất hiện phía dưới con chạy).
Ví dụ:
              settextjustify(1,1);
              outtextxy(100,100,”ABC”);

BỀ RỘNG VÀ CHIỀU CAO CỦA KÝ TỰ
Chiều cao của chuỗi ký tự
Cú pháp: int textheight(char *s);
      + s: chuỗi ký tự cần kiểm tra
      + trả về độ cao của chuỗi ký tự khi in ra màn hình tình bằng pixel.
Ví dụ 1:
Với font bit map và hệ số phóng đại là 1 thì textheight(“A”) ch giá trị là 8.
Ví dụ 2:
#include <stdio.h>
#include <graphics.h>
int main()
	{	int mh=0,mode=DETECT, y,size;
		initgraph(&mh,&mode,"");
		y=10;
		settextjustify(0,0);
		for (size=1;size<5;++size)
			{	settextstyle(0,0,size);
				outtextxy(0,y,"TranNhuomEdu");
				y+=textheight("TranNhuomEdu")+10;
			}
		getch();		
		closegraph();
                return 0;
	}

Kết quả

– Bề rộng của kí tự:
     Cú pháp: int textwidth(char *s);
     + s: chuỗi ký tự cần kiểm tra
     + trả về độ rộng của chuỗi ký tự khi in lên màn hình

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây