Viết văn bản trong màn hình đồ họa Viết văn bản outtext



tải về 21.06 Kb.
trang2/3
Chuyển đổi dữ liệu04.03.2024
Kích21.06 Kb.
#56718
1   2   3
Viết-văn-bản-trong-màn-hình-đồ-họa (1)

Điều chỉnh cách viết

Theo mỗi hướng (nằm ngang hay thẳng đứng) có 3 cách viết tương ứng với các hằng số sau:


Theo hướng nằm ngang:
LEFT_TEXT = 0 : Viết từ trái sang phải.
CENTER_TEXT = 1 : Viết từ vị trí con trỏ sang hai bên.
RIGHT_TEXE = 2 : Viết từ phải sang trái.
Theo hướng thẳng đứng:
BOTTOM_TEXT = 0 : Viết từ dưới lên.
CENTER_TEXT = 1 : Viết từ vị trí con trỏ lên trên và xuống dưới.
TOP_TEXT = 2. Viết từ trên xuống.
Để chỉ định một trong các cách viết trên ta dùng lệnh


settextjustify(Theo hướng ngang, Theo hướng dọc);


Chuyển động

Nguyên tắc: xóa hình ở vị trí cũ rồi vẽ lại hình đó tại vị trí mới theo hướng chuyển động. Để xoá, ta vẽ lại hình ngay tại vị trí cũ nhưng với mầu vẽ trùng với màu nền (do đó hình vẽ bị chìm vào nền giống như đã bị xóa). Để biết màu nền hiện tại có thể dùng hàm setcolor(getbkcolor()). Tóm lại có thể đưa ra sơ đồ như sau:


- vẽ lại hình với màu nền tại vị trí cũ // xóa hình
- delay // tạm dừng
- vẽ lại hình (với màu của hình) tại vị trí mới // hình chuyển đến vị trí khác
Các bước trên nếu được lặp đi lặp lại ta sẽ thấy hình chuyển động từ vị trí này đến vị trí khác.
Đối với các hình vẽ phức tạp, để xóa nhanh ta có thể vẽ lại hình trong chế độ XOR_PUT như được trình bày trong phần sau.
Chúng ta hãy xem qua một số hàm phức tạp hơn để vẽ hình.

setviewport(x1, y1, x2, y2, clip): Tạo một cửa sổ mới trong chế độ đồ hoạ. Khi đó tọa độ của các điểm sẽ được tính lại theo cửa sổ mới này. Cụ thể điểm (x1, y1) của màn hình bây giờ sẽ lại được tính với tọa độ mới là (0,0). Nếu clip = 0 sẽ cho phép các hình vẽ được mở rộng khỏi khung cửa sổ, nếu clip = 1 các phần của hình vẽ nằm ngoài khung cửa sổ sẽ bị cắt.

getviewsettings(struct viewporttype *vp): Lấy toạ độ cửa sổ hiện tại vào biến con trỏ vp. Kiểu của cuẳ sổ là một cấu trúc như sau:

struct viewporttype {int left, top, right, bottom, clip;};


tải về 21.06 Kb.

Chia sẻ với bạn bè của bạn:
1   2   3




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương