Html dòng trắng

Photoshop thực hiện làm mịn thông minh trên các nét vẽ của bạn. Chỉ cần nhập giá trị [0-100] cho Làm mịn trong thanh Tùy chọn khi bạn đang làm việc với một trong các công cụ sau. Bút lông, Bút chì, Cọ trộn hoặc Tẩy. Giá trị 0 giống với tính năng làm mịn kế thừa trong các phiên bản Photoshop cũ hơn. Các giá trị cao hơn áp dụng số lượng làm mịn thông minh ngày càng tăng cho các nét vẽ của bạn

Làm mịn nét hoạt động ở một số chế độ. Nhấp vào biểu tượng bánh răng [

] để bật một hoặc nhiều chế độ sau.

Trong chương về vẽ hình, chúng ta chỉ sử dụng các kiểu tô và đường mặc định. Ở đây chúng ta sẽ khám phá các tùy chọn canvas mà chúng ta có để làm cho bản vẽ của chúng ta hấp dẫn hơn một chút. Bạn sẽ học cách thêm các màu khác nhau, kiểu đường kẻ, độ dốc, hoa văn và bóng đổ vào bản vẽ của mình

Ghi chú. Trình đọc màn hình không thể truy cập nội dung canvas. Nếu canvas hoàn toàn là trang trí, hãy bao gồm

  function draw[] {
    const ctx = document.getElementById['canvas'].getContext['2d'];
    for [let i = 0; i 
0. Nếu không, hãy bao gồm văn bản mô tả dưới dạng giá trị của thuộc tính

1 trực tiếp trên chính phần tử canvas hoặc bao gồm nội dung dự phòng được đặt trong thẻ canvas mở và đóng. Nội dung canvas không phải là một phần của DOM, nhưng nội dung dự phòng lồng nhau là

Màu sắc

Cho đến bây giờ chúng ta mới chỉ thấy các phương pháp của ngữ cảnh vẽ. Nếu chúng ta muốn áp dụng màu sắc cho một hình dạng, có hai thuộc tính quan trọng mà chúng ta có thể sử dụng.


2 và

3


4

Đặt kiểu được sử dụng khi tô hình


5

Đặt kiểu cho các đường viền của hình dạng


6 là một chuỗi đại diện cho CSS

7, đối tượng gradient hoặc đối tượng mẫu. Chúng ta sẽ xem xét các đối tượng gradient và pattern sau. Theo mặc định, màu nét và màu tô được đặt thành màu đen [giá trị màu CSS

8]

Ghi chú. Khi bạn đặt thuộc tính


3 và/hoặc

2, giá trị mới sẽ trở thành giá trị mặc định cho tất cả các hình dạng được vẽ từ đó trở đi. Đối với mỗi hình dạng bạn muốn có màu khác nhau, bạn sẽ cần chỉ định lại thuộc tính

2 hoặc

3

Theo thông số kỹ thuật, các chuỗi hợp lệ bạn có thể nhập phải là giá trị CSS


7. Mỗi ví dụ sau mô tả cùng một màu


5

Một ví dụ về

2

Trong ví dụ này, một lần nữa chúng ta sử dụng hai vòng lặp


75 để vẽ một lưới các hình chữ nhật, mỗi hình có một màu khác nhau. Hình ảnh kết quả sẽ trông giống như ảnh chụp màn hình. Không có gì quá ngoạn mục xảy ra ở đây. Chúng tôi sử dụng hai biến

76 và

77 để tạo màu RGB duy nhất cho mỗi hình vuông và chỉ sửa đổi các giá trị màu đỏ và xanh lục. Kênh màu xanh có giá trị cố định. Bằng cách sửa đổi các kênh, bạn có thể tạo tất cả các loại bảng màu. Bằng cách tăng các bước, bạn có thể đạt được thứ gì đó trông giống như bảng màu mà Photoshop sử dụng


0


1


7

Kết quả trông như thế này

Ảnh chụp màn hìnhMẫu trực tiếp

Một ví dụ về

3

Ví dụ này tương tự như ví dụ trên, nhưng sử dụng thuộc tính


3 để thay đổi màu sắc của đường viền của hình dạng. Chúng tôi sử dụng phương pháp

50 để vẽ hình tròn thay vì hình vuông

  function draw[] {
    const ctx = document.getElementById['canvas'].getContext['2d'];
    for [let i = 0; i 


7

Kết quả trông như thế này

Ảnh chụp màn hìnhMẫu trực tiếp

minh bạch

Ngoài việc vẽ các hình mờ lên khung vẽ, chúng ta cũng có thể vẽ các hình bán trong suốt [hoặc trong mờ]. Điều này được thực hiện bằng cách đặt thuộc tính


51 hoặc bằng cách gán màu bán trong suốt cho nét và/hoặc kiểu tô


52

Áp dụng giá trị độ trong suốt đã chỉ định cho tất cả các hình dạng trong tương lai được vẽ trên canvas. Giá trị phải nằm trong khoảng từ 0. 0 [hoàn toàn trong suốt] đến 1. 0 [đục hoàn toàn]. Giá trị này là 1. 0 [hoàn toàn mờ đục] theo mặc định

Thuộc tính


51 có thể hữu ích nếu bạn muốn vẽ nhiều hình dạng trên khung vẽ với độ trong suốt tương tự, nhưng nếu không thì sẽ hữu ích hơn khi đặt độ trong suốt cho các hình dạng riêng lẻ khi đặt màu của chúng

Vì các thuộc tính


3 và

2 chấp nhận các giá trị màu CSS rgba nên chúng ta có thể sử dụng ký hiệu sau để gán màu trong suốt cho chúng


5

Hàm


56 tương tự như hàm

57 nhưng nó có thêm một tham số. Tham số cuối cùng đặt giá trị độ trong suốt của màu cụ thể này. Phạm vi hợp lệ lại nằm trong khoảng từ 0. 0 [hoàn toàn trong suốt] và 1. 0 [đục hoàn toàn]

Một ví dụ về

51

Trong ví dụ này, chúng ta sẽ vẽ nền gồm bốn hình vuông có màu khác nhau. Trên hết, chúng ta sẽ vẽ một tập hợp các vòng tròn bán trong suốt. Thuộc tính


51 được đặt tại

90 sẽ được sử dụng cho tất cả các hình dạng từ thời điểm đó trở đi. Mỗi bước trong vòng lặp

75 vẽ một tập hợp các vòng tròn có bán kính tăng dần. Kết quả cuối cùng là một gradient xuyên tâm. Bằng cách chồng thêm nhiều vòng tròn lên nhau, chúng tôi giảm độ trong suốt của các vòng tròn đã được vẽ một cách hiệu quả. Bằng cách tăng số bước và thực tế là vẽ nhiều vòng tròn hơn, nền sẽ biến mất hoàn toàn khỏi trung tâm của hình ảnh


9



7

Ảnh chụp màn hìnhMẫu trực tiếp

Một ví dụ sử dụng

56

Trong ví dụ thứ hai này, chúng ta làm tương tự như ở trên, nhưng thay vì vẽ các vòng tròn chồng lên nhau, tôi đã vẽ các hình chữ nhật nhỏ với độ mờ tăng dần. Sử dụng


56 cho phép bạn kiểm soát và linh hoạt hơn một chút vì chúng tôi có thể đặt kiểu tô và nét riêng lẻ


01



7

Ảnh chụp màn hìnhMẫu trực tiếp

Kiểu đường kẻ

Có một số thuộc tính cho phép chúng ta tạo kiểu cho các dòng


94

Đặt độ rộng của các đường được vẽ trong tương lai


95

Đặt sự xuất hiện của các kết thúc của dòng


96

Đặt hình thức của "các góc" nơi các đường giao nhau


97

Thiết lập giới hạn trên vát khi hai đường giao nhau ở một góc nhọn, để cho phép bạn kiểm soát độ dày của đường giao nhau


98

Trả về mảng mẫu gạch ngang dòng hiện tại chứa một số chẵn các số không âm


99

Đặt mẫu gạch ngang dòng hiện tại


0

Chỉ định nơi bắt đầu một mảng gạch ngang trên một dòng

Bạn sẽ hiểu rõ hơn về những gì chúng làm bằng cách xem các ví dụ bên dưới

Một ví dụ về

1

Thuộc tính này đặt độ dày của dòng hiện tại. Giá trị phải là số dương. Theo mặc định, giá trị này được đặt thành 1. 0 đơn vị

Chiều rộng của đường là độ dày của nét có tâm trên đường dẫn đã cho. Nói cách khác, khu vực được vẽ mở rộng bằng một nửa chiều rộng của đường ở hai bên của đường dẫn. Vì các tọa độ canvas không tham chiếu trực tiếp các pixel, nên phải đặc biệt cẩn thận để có được các đường ngang và dọc sắc nét

Trong ví dụ bên dưới, 10 đường thẳng được vẽ với độ rộng đường tăng dần. Dòng ngoài cùng bên trái là 1. rộng 0 đơn vị. Tuy nhiên, ngoài cùng bên trái và tất cả các đường có độ dày bằng số nguyên lẻ khác không xuất hiện sắc nét do vị trí của đường dẫn


04



7

Mẫu ảnh chụp màn hình trực tiếp

Để có được các đường rõ nét, bạn cần phải hiểu cách các đường nét được vẽ. Trong các hình ảnh bên dưới, lưới biểu thị lưới tọa độ canvas. Các ô vuông giữa các đường lưới là các pixel thực tế trên màn hình. Trong hình lưới đầu tiên bên dưới, một hình chữ nhật từ [2,1] đến [5,5] được lấp đầy. Toàn bộ khu vực giữa chúng [màu đỏ nhạt] nằm trên các ranh giới pixel, do đó, hình chữ nhật được lấp đầy thu được sẽ có các cạnh sắc nét.

Nếu bạn xem xét một đường dẫn từ [3,1] đến [3,5] với độ dày của đường là


2, bạn sẽ có tình huống trong hình ảnh thứ hai. Khu vực thực tế được lấp đầy [màu xanh đậm] chỉ kéo dài một nửa thành các pixel ở hai bên của đường dẫn. Một giá trị gần đúng của điều này phải được hiển thị, có nghĩa là những pixel đó chỉ được tô bóng một phần và dẫn đến toàn bộ khu vực [màu xanh lam nhạt và xanh lam đậm] được tô bằng màu chỉ tối bằng một nửa so với màu nét vẽ thực tế. Đây là những gì xảy ra với đường có chiều rộng

2 trong mã ví dụ trước

Để khắc phục điều này, bạn phải rất chính xác trong việc tạo đường dẫn của mình. Biết rằng một đường có chiều rộng


2 sẽ kéo dài nửa đơn vị sang hai bên của đường đi, tạo ra đường đi từ [3. 5,1] đến [3. 5,5] dẫn đến tình huống trong ảnh thứ ba—chiều rộng của dòng

2 kết thúc hoàn toàn và chính xác khi lấp đầy một đường dọc pixel đơn lẻ

Ghi chú. Xin lưu ý rằng trong ví dụ về đường thẳng đứng của chúng ta, vị trí Y vẫn tham chiếu đến một vị trí đường lưới số nguyên—nếu không, chúng ta sẽ thấy các pixel có độ bao phủ một nửa ở các điểm cuối [nhưng cũng lưu ý rằng hành vi này phụ thuộc vào kiểu


6 hiện tại có kiểu mặc định

Cũng lưu ý rằng chỉ điểm đầu và điểm cuối của đường dẫn mới bị ảnh hưởng. nếu một đường dẫn bị đóng với


000, thì không có điểm đầu và điểm cuối; . Xem hai phần tiếp theo để trình diễn các kiểu đường bổ sung này

Đối với các đường có chiều rộng bằng nhau, mỗi nửa kết thúc bằng một lượng pixel nguyên, vì vậy bạn muốn có một đường dẫn nằm giữa các pixel [nghĩa là [3,1] đến [3,5]], thay vì đi xuống giữa các pixel

Mặc dù hơi đau khi lần đầu làm việc với đồ họa 2D có thể mở rộng, nhưng chú ý đến lưới pixel và vị trí của các đường dẫn đảm bảo rằng bản vẽ của bạn sẽ trông chính xác bất kể tỷ lệ hoặc bất kỳ biến đổi nào khác có liên quan. một 1. Đường dọc có chiều rộng bằng 0 được vẽ ở đúng vị trí sẽ trở thành đường 2 pixel sắc nét khi được phóng to lên 2 lần và sẽ xuất hiện ở đúng vị trí

Một ví dụ về

6

Thuộc tính


6 xác định cách vẽ các điểm cuối của mỗi dòng. Có ba giá trị có thể có cho thuộc tính này và đó là.

7,

006 và

9. Theo mặc định, thuộc tính này được đặt thành

7


7

Các đầu của dòng được bình phương tại các điểm cuối


006

Các đầu của dòng được làm tròn


9

Các đầu của dòng được bình phương bằng cách thêm một hộp có chiều rộng bằng một nửa chiều cao của độ dày của dòng

Trong ví dụ này, chúng ta sẽ vẽ ba dòng, mỗi dòng có một giá trị khác nhau cho thuộc tính


6. Tôi cũng đã thêm hai hướng dẫn để xem sự khác biệt chính xác giữa ba. Mỗi dòng này bắt đầu và kết thúc chính xác trên các hướng dẫn này

Dòng bên trái sử dụng tùy chọn


7 mặc định. Bạn sẽ nhận thấy rằng nó được vẽ hoàn toàn phẳng với các hướng dẫn. Cái thứ hai được đặt để sử dụng tùy chọn

006. Điều này thêm một hình bán nguyệt vào cuối có bán kính bằng một nửa chiều rộng của đường. Dòng bên phải sử dụng tùy chọn

9. Điều này thêm một hộp có chiều rộng bằng và một nửa chiều cao của độ dày đường


07



7

Ảnh chụp màn hìnhMẫu trực tiếp

Một ví dụ về

001

Thuộc tính


001 xác định cách nối hai đoạn kết nối [đường thẳng, cung hoặc đường cong] có độ dài khác 0 trong một hình [các đoạn suy biến có độ dài bằng 0, có điểm cuối và điểm kiểm soát được chỉ định chính xác ở cùng một vị trí, được bỏ qua]

Có ba giá trị có thể có cho thuộc tính này.


006,

019 và

002. Theo mặc định, thuộc tính này được đặt thành

002. Lưu ý rằng cài đặt

001 không có hiệu lực nếu hai đoạn được kết nối có cùng hướng, vì sẽ không có vùng nối nào được thêm vào trong trường hợp này


006

Làm tròn các góc của hình bằng cách lấp đầy một cung đĩa bổ sung có tâm ở điểm cuối chung của các đoạn được kết nối. Bán kính cho các góc tròn này bằng một nửa chiều rộng của đường


019

Lấp đầy một khu vực hình tam giác bổ sung giữa điểm cuối chung của các đoạn được kết nối và các góc hình chữ nhật bên ngoài riêng biệt của từng đoạn


002

Các phân đoạn được kết nối được nối bằng cách mở rộng các cạnh bên ngoài của chúng để kết nối tại một điểm duy nhất, với tác dụng lấp đầy một khu vực hình thoi bổ sung. Cài đặt này được thực hiện bởi thuộc tính


026 được giải thích bên dưới

Ví dụ bên dưới vẽ ba đường dẫn khác nhau, thể hiện từng đường dẫn trong ba cài đặt thuộc tính


001 này;


10



7

Ảnh chụp màn hìnhMẫu trực tiếp

Bản demo của tài sản

026

Như bạn đã thấy trong ví dụ trước, khi nối hai đường với tùy chọn


002, các cạnh bên ngoài của hai đường nối được kéo dài đến điểm mà chúng gặp nhau. Đối với các đường tạo góc lớn với nhau thì điểm này cách điểm nối bên trong không xa. Tuy nhiên, khi các góc giữa mỗi đường giảm, khoảng cách [độ dài vát] giữa các điểm này tăng theo cấp số nhân

Thuộc tính


026 xác định điểm kết nối bên ngoài có thể được đặt cách điểm kết nối bên trong bao xa. Nếu hai dòng vượt quá giá trị này, thay vào đó, một đường nối vát sẽ được vẽ. Lưu ý rằng chiều dài vát tối đa là tích của chiều rộng đường được đo trong hệ tọa độ hiện tại, bằng giá trị của thuộc tính

026 này [có giá trị mặc định là 10. 0 trong HTML

0], do đó,

026 có thể được đặt độc lập với tỷ lệ hiển thị hiện tại hoặc bất kỳ biến đổi affine nào của đường dẫn. nó chỉ ảnh hưởng đến hình dạng được hiển thị hiệu quả của các cạnh đường

Chính xác hơn, giới hạn vát là tỷ lệ tối đa cho phép của độ dài phần mở rộng [trong khung vẽ HTML, nó được đo giữa góc bên ngoài của các cạnh được nối của đường và điểm cuối chung của các đoạn nối được chỉ định trong đường dẫn] với một nửa . Nó có thể được định nghĩa tương đương là tỷ lệ tối đa cho phép của khoảng cách giữa các điểm bên trong và bên ngoài của đường giao nhau của các cạnh, trên tổng chiều rộng của đường. Sau đó, nó bằng với cosec của một nửa góc trong tối thiểu của các đoạn kết nối bên dưới mà không có đường nối vát nào được hiển thị mà chỉ có đường nối vát

  • 
    
    026 = tối đa
    
    
    035 /
    
    
    1 = 1 / sin [ tối thiểu θ / 2 ]
  • Giới hạn miter mặc định là 10. 0 sẽ loại bỏ tất cả các vát đối với các góc nhọn dưới khoảng 11 độ
  • Giới hạn vát bằng √2 ≈ 1. 4142136 [làm tròn] sẽ loại bỏ các góc vát cho tất cả các góc nhọn, chỉ giữ các mối nối vát cho góc tù hoặc góc vuông
  • Giới hạn miter bằng 1. 0 hợp lệ nhưng sẽ vô hiệu hóa tất cả các bộ giảm tốc
  • Các giá trị dưới 1. 0 không hợp lệ đối với giới hạn miter

Đây là một bản trình diễn nhỏ mà bạn có thể thiết lập động


026 và xem điều này ảnh hưởng như thế nào đến các hình dạng trên khung vẽ. Các đường màu xanh lam cho biết điểm bắt đầu và điểm cuối của mỗi đường trong mẫu hình zig-zag

Nếu bạn chỉ định giá trị


026 dưới 4. 2 trong bản trình diễn này, không có góc nào có thể nhìn thấy được nối với phần mở rộng vát mà chỉ có một góc xiên nhỏ gần các đường màu xanh lam;


13


14


15

Ảnh chụp màn hìnhMẫu trực tiếp

Sử dụng dấu gạch ngang

Phương thức


040 và thuộc tính

041 chỉ định mẫu dấu gạch ngang cho các dòng. Phương thức

040 chấp nhận một danh sách các số chỉ định khoảng cách để vẽ xen kẽ một đường và một khoảng cách và thuộc tính

041 đặt một khoảng cách để bắt đầu mẫu

Trong ví dụ này, chúng ta đang tạo hiệu ứng kiến ​​diễu hành. Đây là một kỹ thuật hoạt hình thường được tìm thấy trong các công cụ lựa chọn của các chương trình đồ họa máy tính. Nó giúp người dùng phân biệt đường viền lựa chọn với nền ảnh bằng cách tạo hiệu ứng động cho đường viền. Trong phần sau của hướng dẫn này, bạn có thể tìm hiểu cách thực hiện điều này và các hoạt ảnh cơ bản khác


16


17

Ảnh chụp màn hìnhMẫu trực tiếp

Độ dốc

Giống như bất kỳ chương trình vẽ thông thường nào, chúng ta có thể tô và vẽ các hình dạng bằng cách sử dụng các gradient tuyến tính, xuyên tâm và hình nón. Chúng tôi tạo một đối tượng


044 bằng cách sử dụng một trong các phương pháp sau. Sau đó, chúng ta có thể gán đối tượng này cho các thuộc tính

2 hoặc

3


047

Tạo một đối tượng gradient tuyến tính với điểm bắt đầu là [


048,

049] và điểm kết thúc là [

050,

051]


052

Tạo một gradient xuyên tâm. Các tham số đại diện cho hai đường tròn, một đường tròn có tâm tại [


048,

049] và bán kính

055, và đường tròn còn lại có tâm tại [

050,

051] với bán kính

058


059

Tạo một đối tượng gradient hình nón với góc bắt đầu là


060 tính bằng radian, tại vị trí [

061,

062]

Ví dụ


18

Khi chúng tôi đã tạo một đối tượng


044, chúng tôi có thể gán màu cho nó bằng cách sử dụng phương pháp

064


065

Tạo một điểm dừng màu mới trên đối tượng


066.

067 là một số nằm trong khoảng từ 0. 0 và 1. 0 và xác định vị trí tương đối của màu trong dải màu và đối số

6 phải là một chuỗi đại diện cho CSS

7, cho biết màu mà dải màu sẽ đạt được ở phần bù đó vào quá trình chuyển đổi

Bạn có thể thêm bao nhiêu điểm dừng màu vào một dải màu tùy thích. Dưới đây là một gradient tuyến tính rất đơn giản từ trắng sang đen


19

Một ví dụ về

070

Trong ví dụ này, chúng ta sẽ tạo hai gradient khác nhau. Như bạn có thể thấy ở đây, cả hai thuộc tính


3 và

2 đều có thể chấp nhận đối tượng

073 làm đầu vào hợp lệ


70



7

Đầu tiên là một gradient nền. Như bạn có thể thấy, chúng tôi đã chỉ định hai màu ở cùng một vị trí. Bạn làm điều này để tạo ra sự chuyển đổi màu rất sắc nét—trong trường hợp này là từ trắng sang xanh lục. Thông thường, thứ tự bạn xác định các điểm dừng màu không quan trọng, nhưng trong trường hợp đặc biệt này, nó ảnh hưởng đáng kể. Nếu bạn sắp xếp các bài tập theo thứ tự mà bạn muốn chúng xuất hiện, điều này sẽ không thành vấn đề

Trong gradient thứ hai, chúng tôi không chỉ định màu bắt đầu [ở vị trí 0. 0] vì nó không thực sự cần thiết, bởi vì nó sẽ tự động lấy màu của điểm dừng màu tiếp theo. Do đó, gán màu đen ở vị trí 0. 5 tự động tạo độ dốc, từ điểm bắt đầu đến điểm dừng này, màu đen

Ảnh chụp màn hìnhMẫu trực tiếp

Một ví dụ về

074

Trong ví dụ này, chúng tôi sẽ xác định bốn độ dốc xuyên tâm khác nhau. Bởi vì chúng ta có quyền kiểm soát điểm bắt đầu và điểm kết thúc của dải màu, nên chúng ta có thể đạt được các hiệu ứng phức tạp hơn so với những gì chúng ta thường có trong các dải màu xuyên tâm "cổ điển" mà chúng ta thấy trong Photoshop [nghĩa là một dải màu có một tâm duy nhất].


73



7

Trong trường hợp này, chúng tôi đã dịch chuyển điểm bắt đầu một chút so với điểm kết thúc để đạt được hiệu ứng 3D hình cầu. Tốt nhất là cố gắng tránh để các vòng tròn bên trong và bên ngoài chồng lên nhau vì điều này dẫn đến những hiệu ứng kỳ lạ, khó dự đoán.

Điểm dừng màu cuối cùng trong mỗi trong số bốn dải màu sử dụng màu hoàn toàn trong suốt. Nếu bạn muốn có sự chuyển đổi đẹp mắt từ điểm dừng màu này sang điểm dừng màu trước đó, thì cả hai màu phải bằng nhau. Điều này không rõ ràng lắm từ mã vì nó sử dụng hai phương thức màu CSS khác nhau để minh họa, nhưng ở dải màu đầu tiên


075

Ảnh chụp màn hìnhMẫu trực tiếp

Một ví dụ về

076

Trong ví dụ này, chúng tôi sẽ xác định hai độ dốc hình nón khác nhau. Một gradient hình nón khác với một gradient xuyên tâm, thay vì tạo ra các vòng tròn, nó sẽ xoay quanh một điểm


76


77


7

Dải màu đầu tiên được định vị ở giữa hình chữ nhật đầu tiên và di chuyển điểm dừng màu xanh lá cây ở đầu, sang màu trắng ở cuối. Góc bắt đầu từ 2 radian, đáng chú ý vì đường bắt đầu/kết thúc hướng về phía đông nam

Độ dốc thứ hai cũng được định vị ở tâm của hình chữ nhật thứ hai. Cái này có nhiều điểm dừng màu, xen kẽ từ đen sang trắng ở mỗi phần tư vòng quay. Điều này mang lại cho chúng ta hiệu ứng rô

Ảnh chụp màn hìnhMẫu trực tiếp

hoa văn

Trong một trong những ví dụ ở trang trước, chúng tôi đã sử dụng một loạt vòng lặp để tạo mẫu hình ảnh. Tuy nhiên, có một phương pháp đơn giản hơn nhiều. phương pháp


077


078

Tạo và trả về một đối tượng mẫu canvas mới.


079 là nguồn của hình ảnh [tức là, một

080, một

081, một

082 hoặc một

083 khác, một

084 hoặc một

085 hoặc một

086].

087 là một chuỗi cho biết cách sử dụng hình ảnh

Loại chỉ định cách sử dụng hình ảnh để tạo mẫu và phải là một trong các giá trị chuỗi sau


088

Xếp hình ảnh theo cả hai hướng dọc và ngang


089

Xếp hình ảnh theo chiều ngang nhưng không theo chiều dọc


090

Xếp hình ảnh theo chiều dọc nhưng không theo chiều ngang


091

Không xếp hình ảnh. Nó chỉ được sử dụng một lần

Chúng ta sử dụng phương thức này để tạo một đối tượng


092 rất giống với các phương thức gradient mà chúng ta đã thấy ở trên. Khi chúng tôi đã tạo một mẫu, chúng tôi có thể gán nó cho các thuộc tính

2 hoặc

3. Ví dụ


79

Ghi chú. Giống như phương thức


095, bạn phải đảm bảo rằng hình ảnh bạn sử dụng đã được tải trước khi gọi phương thức này, nếu không mẫu có thể được vẽ không chính xác

Một ví dụ về

096

Trong ví dụ cuối cùng này, chúng ta sẽ tạo một mẫu để gán cho thuộc tính


2. Điều đáng chú ý duy nhất là việc sử dụng trình xử lý

098 của hình ảnh. Điều này là để đảm bảo hình ảnh được tải trước khi được gán cho mẫu

  function draw[] {
    const ctx = document.getElementById['canvas'].getContext['2d'];
    for [let i = 0; i 


7

Ảnh chụp màn hìnhMẫu trực tiếp

bóng tối

Sử dụng bóng chỉ liên quan đến bốn thuộc tính


099

Cho biết khoảng cách theo chiều ngang mà bóng sẽ kéo dài từ đối tượng. Giá trị này không bị ảnh hưởng bởi ma trận chuyển đổi. Mặc định là 0


100

Cho biết khoảng cách thẳng đứng mà bóng sẽ kéo dài từ đối tượng. Giá trị này không bị ảnh hưởng bởi ma trận chuyển đổi. Mặc định là 0


101

Cho biết kích thước của hiệu ứng làm mờ; . Giá trị mặc định là 0


102

Giá trị màu CSS tiêu chuẩn cho biết màu của hiệu ứng đổ bóng;

Các thuộc tính


103 và

104 cho biết bóng sẽ kéo dài bao xa từ đối tượng theo hướng X và Y; . Sử dụng các giá trị âm để làm cho bóng mở rộng lên hoặc sang trái và các giá trị dương để làm cho bóng kéo dài xuống hoặc sang phải. Cả hai đều là 0 theo mặc định

Thuộc tính


105 cho biết kích thước của hiệu ứng làm mờ; . Giá trị mặc định là 0

Thuộc tính


106 là một giá trị màu CSS tiêu chuẩn cho biết màu của hiệu ứng đổ bóng;

Ghi chú. Bóng chỉ được vẽ cho các hoạt động tổng hợp


107

Một ví dụ về văn bản bóng mờ

Ví dụ này vẽ một chuỗi văn bản có hiệu ứng đổ bóng

  function draw[] {
    const ctx = document.getElementById['canvas'].getContext['2d'];
    for [let i = 0; i 
7

Mẫu ScreenshotLive

Chúng ta sẽ xem xét thuộc tính


108 và phương thức

109 trong chương tiếp theo về vẽ văn bản.

Quy tắc điền canvas

Khi sử dụng


110 [hoặc

111 và

112], bạn có thể tùy chọn cung cấp thuật toán quy tắc lấp đầy để xác định xem một điểm nằm trong hay ngoài một đường dẫn và do đó liệu điểm đó có được lấp đầy hay không. Điều này hữu ích khi một đường dẫn cắt chính nó hoặc được lồng vào nhau

Chủ Đề