Page 180 - Em Học Python
P. 180

TÔ MÀU



                       Hàm color nhận ba tham số. Đầu tiên là tỉ lệ màu đỏ, rồi đến tỉ lệ màu xanh lá, và
                            ​
                                  ​
               thứ ba là tỉ lệ màu xanh dương. Ví dụ, để xe có màu đỏ tươi, ta dùng  color(1, 0, 0), nghĩa
                                                                                                     ​
               là dùng màu đỏ 100 phần trăm.


                                                                             ​
                       Ba màu đỏ, xanh lá, xanh dương này được gọi là  RGB ⟨Red -
               Green - Blue⟩. Đây chính là cách màn hình máy tính hiển thị ra các
                             ​
               màu sắc khác nhau, và khi các màu này được pha với nhau ta sẽ có

               nhiều màu hơn, như kiểu khi pha xanh dương với đỏ ta có màu tím,
               còn pha vàng với đỏ ta có màu cam vậy. Các màu đỏ, xanh lá và xanh dương được gọi là

               màu chuẩn ⟨primary color⟩ vì ta không thể dùng các màu khác để tạo ra ba màu này được.

                            ​
                                           ​
                       Mặc dù trên màn hình máy tính ta không dùng màu thật để pha (người ta thực ra sử

               dụng ánh sáng để làm việc đó), nhưng để hiểu được các công thức pha chế màu RGB, em có

               thể hình dung ra ta có ba lọ màu: một đỏ, một xanh lá và một xanh dương. Các lọ ban đầu
               đều đầy, và ta tạm gán cho chúng giá trị là 1 (hoặc 100 phần trăm). Sau đó trộn toàn bộ màu

               đỏ với toàn bộ màu xanh lá ra một cái lọ khác và khuấy đều lên, ta sẽ có màu vàng (tức là tỉ

               lệ 1 và 1, hay 100 phần trăm mỗi màu).


                       Quay về thế giới lập trình. Để rùa vẽ được một hình tròn màu vàng, ta sẽ sử dụng 100
               phần trăm màu đỏ, 100 phần trăm màu xanh lá và không có xanh dương, như thế này:


               >>> t.color(1,1,0)
                   ​
               >>> t.begin_fill()
                   ​
                   ​
               >>> t.circle(50)
               >>> t.end_fill()
                   ​
                       Ba số  1, 1, 0 ở dòng đầu tiên đại diện cho 100 phần trăm đỏ, 100 phần trăm xanh
                                     ​
               lá, và 0 phần trăm xanh dương. Dòng thứ hai, ta bảo rùa đổi sang màu RGB vừa nãy với

               t.begin_fill, rồi ta bảo nó vẽ một hình tròn với  t.circle. Dòng cuối cùng,  end_fill nói
                                                                           ​
                              ​
                                                                                                       ​
               rùa hãy thực sự đổ màu vào toàn bộ hình nó vừa vẽ.


               154          Chương 11
                  ​
   175   176   177   178   179   180   181   182   183   184   185