Mục lục:
Video: App Blend màu cực đẹp trên điện thoại - RNI Films | #HPphotoshop 2025
Gần như mọi thao tác trong hàm canvas của HTML5 thực hiện kiểu điền hoặc kiểu đột qu HTML. Để khai thác tối đa chất liệu vải, bạn cần phải hiểu cách thức chúng hoạt động. Ba kiểu chính của phong cách bạn có thể sử dụng khi điền và nét là màu sắc, độ dốc và mẫu.
Áp dụng màu với thẻ Canvas HTML5
Để chỉ định màu tô hoặc màu sắc nét trong thẻ canvas, bạn có thể sử dụng các công cụ màu giống như bạn sử dụng trong CSS và HTML:
Hệ thập lục phân sáu chữ số thường được sử dụng trong CSS sử dụng hai chữ số mỗi màu cho màu đỏ, xanh lục và xanh lam. Giá trị bắt đầu bằng một ký hiệu pound. Ví dụ: # FF0000 màu đỏ và # FFFF00 màu vàng. Giá trị hex ba chữ số:
Các giá trị màu lục trị thường sử dụng các giá trị lặp lại, vì vậy bạn có thể viết tắt các giá trị này dưới dạng số ba chữ số. Trong chương trình này, màu đỏ là # F00, và màu vàng là # FF0.
Bạn thường có thể sử dụng tên màu, như "đỏ" hoặc "màu vàng. "Tên màu thông thường sẽ hoạt động, nhưng không phải tất cả các trình duyệt hỗ trợ cùng một danh sách các tên màu sắc; "Đu đủ đu đủ" không có khả năng được hỗ trợ. Giá trị RGB và RGBA:
Bạn có thể sử dụng hàm rgb () để tạo các màu bằng số nguyên (0-255) hoặc phần trăm (0% -100%). Màu đỏ là rgb (255, 0, 0) và màu vàng là rgb (100%, 100%, 0%). Lưu ý rằng chức năng rgb phải đi trong dấu ngoặc kép giống như bất kỳ giá trị màu khác. Nếu bạn muốn bao gồm alpha, hãy thêm tham số thứ tư, là một giá trị zero-one. Màu đỏ trong suốt sẽ là rgba (255, 0, 0, 0. 5). Các định dạng màu hsl và hsla mới được hỗ trợ bởi phần tử canvas, nhưng cho đến nay, sự hỗ trợ cho các tính năng này thay đổi theo trình duyệt.
Lưu ý rằng các giá trị khác nhau cho một màu sắc luôn luôn được bao gồm trong dấu ngoặc kép. Tham số màu là một chuỗi có thể được hiểu là màu CSS. Áp dụng các gradient với nhãn canvas HTML5
Bạn cũng có thể điền vào một hình dạng với một gradient. Canvas gradient được xác định trong hai bước:
Tạo một đối tượng gradient.
Có hai phương pháp được xây dựng trong đối tượng ngữ cảnh cho việc này. Một xây dựng gradient tuyến tính, và một khác xây dựng gradients xuyên.
-
Thêm điểm dừng màu. Ngừng màu
-
màu là một phần tử đặc biệt cho biết màu sẽ được thêm vào gradient. Bạn có thể thêm nhiều màu sắc như bạn muốn và bạn cũng có thể chỉ định nơi dọc theo mẫu gradient màu sắc sẽ xuất hiện. Đoạn mã sau tạo ra một gradient xuyên tâm và một gradient tuyến tính trên một canvas: function draw () {var drawing = document. getElementById ("bản vẽ"); var con = bản vẽ.getContext ("2d"); / / xây dựng một gradient tuyến tính lGrad = con. createLinearGradient (0, 0, 100, 200); lGrad. addColorStop (0, "# FF0000"); lGrad. addColorStop (.5, "# 00FF00"); lGrad. addColorStop (1, "# 0000FF"); con. fillStyle = lGrad; con. fillRect (0, 0, 100, 200); / / xây dựng một gradient radial rGrad = con. createRadialGradient (150, 100, 0, 150, 100, 100); rGrad. addColorStop (0, "# FF0000"); rGrad. addColorStop (.5, "# 00FF00"); rGrad. addColorStop (1, "# 0000FF"); con. fillStyle = rGrad; con. filler (100, 0, 200, 200);} // end draw
Kết quả của đoạn mã này được hiển thị ở đây:
Độ dốc
tuyến tính
là một mẫu màu trộn lẫn vào nhau dọc theo đường thẳng. Để xác định một gradient tuyến tính, hãy làm theo các bước sau: Tạo một biến để giữ gradient. Gradients phức tạp hơn một chút so với màu đơn giản, do đó chúng được lưu trữ trong các biến để được tái sử dụng.
-
Tạo gradient, sử dụng phương thức createLinearGradient () của đối tượng ngữ cảnh để tạo một gradient tuyến tính.
Xác định đường đi gradient với phương thức createLinearGradient ().
-
Nó mong đợi bốn tham số xác định một đường thẳng (x1, y1, x2, y2). Màu sắc sẽ vuông góc với đường này, vì vậy nếu bạn muốn các dải màu ngang, vẽ một đường thẳng đứng. Nếu bạn muốn các dải màu theo chiều dọc, vẽ một đường ngang. Dòng thường chiếm toàn bộ chiều rộng hoặc chiều cao của phần tử, nhưng nó không nhất thiết phải. Nếu đường nhỏ hơn hình ảnh, vùng dư thừa sẽ được tự động gán màu từ cuối gần nhất của gradient.
-
Thêm điểm dừng màu.
Gradients không vui lắm nếu không có màu sắc. Phương thức addColorStop () của đối tượng gradient cho phép bạn thêm màu vào gradient. Mỗi điểm dừng màu có hai tham số: vị trí và màu sắc. Vị trí là giá trị 0-1 cho biết vị trí trên đường gradient cần đặt vị trí. 0 là sự khởi đầu, 1 là kết thúc, và các giá trị trung gian nằm ở giữa. Tham số màu là một giá trị văn bản có thể được đánh giá như một màu CSS. Ở mức tối thiểu, bạn nên xác định hai điểm dừng màu, một điểm cho đầu và một cho kết thúc.
-
Áp dụng gradient như một mẫu tô màu.
Nếu bạn muốn sử dụng gradient như là một mẫu điền, hãy thiết lập fillStyle của ngữ cảnh vào biến gradient bạn vừa tạo. Tất cả các điền tiếp theo sẽ được thực hiện bằng cách sử dụng các mẫu gradient (cho đến khi fillStyle được thay đổi để cái gì khác).
-
Độ lệch đường kính là tương tự. Thay vì vẽ một đường thẳng theo đường thẳng, chúng vẽ một dãy các dải màu tròn. Màu đầu tiên là tâm của vòng tròn, và màu cuối cùng định nghĩa bán kính bên ngoài. Xây dựng một gradient xuyên tâm rất giống với việc xây dựng một gradient tuyến tính. Sự khác biệt duy nhất là lệnh create.
Sử dụng phương thức createRadialGradient () của đối tượng để tạo một gradient xuyên tâm. Lệnh này thực sự có sáu tham số:
beginX
:
-
Vị trí X của điểm xuất phát. Đây thường là trung tâm của hình dạng bạn. beginY :
-
Cùng với beginX, điều này sẽ xác định vị trí bắt đầu của gradient của bạn. beginRadius :
-
Bán kính của vòng tròn trung tâm của bạn. Thông thường đây là số không, nhưng bạn có thể làm cho nó lớn hơn nếu bạn muốn nhấn mạnh màu trung tâm nhiều hơn. endX :
-
Mô tả vị trí X của vòng kết thúc. Thông thường, điều này giống như beginX. endY :
-
Cùng với endX, xác định vị trí của vòng kết thúc. Nếu vòng tròn bắt đầu và kết thúc có cùng vị trí, bạn sẽ có một gradient tròn. Thay đổi vị trí kết thúc để làm cho dải giãn ra theo một hướng cụ thể. endRadius :
-
Bán kính kết thúc xác định nơi sẽ đặt gradient màu cuối cùng. Giá trị nhỏ hơn cho bán kính này sẽ dẫn đến một gradient được chặt chẽ, và giá trị lớn hơn sẽ lan rộng gradient dọc theo một khu vực lớn hơn. Một khi gradient đã được định nghĩa, phương thức addColorStops () hoạt động giống như nó cho các gradient tuyến tính. Biến được tạo ra thông qua lệnh addRadialGradient () thường được lưu trữ trong một biến, nơi nó có thể được sử dụng cho các yêu cầu fillStyle () tiếp theo.
