Page 207 - Em Học Python
P. 207
Phần lớn những màu trên sẽ hiện ra đúng, nhưng có thể một vài cái sẽ gặp lỗi (tuỳ
vào máy em đang chạy là Windows, Mac OS X hay Linux).
Nhưng nhỡ ta muốn dùng màu khác không nằm trong số các màu có tên kia thì
sao? Còn nhớ lúc ở Chương 11 ta đặt màu cho bút rùa bằng cách sử dụng tỉ lệ phần trăm
của các màu đỏ, xanh lá và xanh dương không. Xác định tỉ lệ của các màu chuẩn (đỏ, xanh
lá, xanh dương) để pha màu trong tkinter hơi phức tạp hơn một chút, nhưng ta sẽ cùng
học nhé.
Trong module turtle, ta đã tạo ra màu vàng bằng cách dùng 90 phần trăm màu đỏ,
75 phần trăm xanh lá, và không dùng xanh dương. Trong tkinter, ta có thể tạo ra màu
vàng tương tự như thế bằng đoạn code sau:
random_rectangle(400, 400, '#ffd800')
Dấu thăng ( #) ở đằng trước giá trị ffd800 là để nói Python ta đang viết một số thập
lục phân ⟨hexadecimal⟩. Thập lục phân là hệ số rất thường gặp trong lập trình máy tính. Nó
sử dụng cơ số 16 (từ 0 đến 9 rồi từ A đến F) thay vì cơ số 10 (từ 0 đến 9) của hệ thập phân.
Nếu chưa được học về cơ số trong đại số, em có thể hiểu đơn giản là các số thập phân có
thể được chuyển thành thập lục phân bằng cách sử dụng ký tự đặt chỗ ⟨format
placeholder⟩ trong chuỗi: %x (xem lại phần “Ghép Giá Trị Vào Trong Chuỗi” ở trang 28). Ví dụ
để đổi số thập phân 15 sang thập lục phân ta làm như sau:
>>> print('%x' % 15)
f
Để đảm vào số trả ra có hai chữ số, ta sửa ký tự đặt chỗ kia một chút:
>>> print('%02x' % 15)
0f
Module tkinter có cấp sẵn một cách rất đơn giản để lấy giá trị thập lục phân của
một màu. Thêm đoạn code sau vào colorrect.py (em có thể xoá hết các đoạn code gọi hàm
random_rectangle).
Dùng tkinter để có đồ hoạ đẹp hơn 181