intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

TÌM HIỂU SVG VÀ ỨNG DỤNG - 7

Chia sẻ: Cao Tt | Ngày: | Loại File: PDF | Số trang:20

96
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 3. Cấu trúc định dạng tập tin SVG Kết quả trên trình duyệt: ảnh “a.png” bị làm mờ đi do thuộc tính ‘fill-opacity = 0.3’, ảnh “a.png” thứ hai chỉ hiển thị phần trong của đường xén hình chữ nhật clipRecorte: Hình 3.27 Minh họa thành phần ‘clipPath’ 120 Chương 3. Cấu trúc định dạng tập tin SVG 3.15 Thành phần ‘path’ 3.15.1

Chủ đề:
Lưu

Nội dung Text: TÌM HIỂU SVG VÀ ỨNG DỤNG - 7

  1. Chương 3. Cấu trúc định dạng tập tin SVG Kết quả trên trình duyệt: ảnh “a.png” bị làm mờ đi do thuộc tính ‘fill-opacity = 0.3’, ảnh “a.png” thứ hai chỉ hiển thị phần trong của đường xén hình chữ nhật clipRecorte: Hình 3.27 Minh họa thành phần ‘clipPath’ 120
  2. Chương 3. Cấu trúc định dạng tập tin SVG 3.15 Thành phần ‘path’ 3.15.1 Giới thiệu ‘Path’ (đường) có thể là đường viền của một hình tô màu được, hoặc là màu viền, hoặc là đường xén, hoặc là kết hợp của các tính năng này. Một đường được mô tả bằng cách dùng khái niệm “toạ độ hiện tại”. Chẳng hạn, khi vẽ trên giấy, “toạ độ hiện tại” được hiểu là vị trí của cây viết. Vị trí của viết có thể thay đổi, và đường viền của hình (là đường mở hoặc đóng) sẽ được vẽ bằng cách rê bút theo đường cong hay đường thẳng từ “toạ độ hiện tại”. Đường là viền ngoài của một đối tượng được định nghĩa bằng các thuật ngữ ‘moveto’ (thiết lập vị trí hiện tại mới), ‘lineto’ (vẽ một đường thẳng), ‘curveto’ (vẽ một đường cong Bézier), ‘arc’ (vẽ cung tròn hay cung e-líp) và ‘closepath’ (vẽ ngược lại điểm ban đầu). Đường phức là một đường gồm nhiều đường con. 3.15.2 Thành phần ‘path’ Một số thuộc tính của thành phần ‘path’: • d= “path data” Định nghĩa đường viền của hình. • pathLength = “” Độ dài ước lượng của đường được người hoặc công cụ tạo ra nó tính toán. 3.15.3 Dữ liệu đường (path data) Thành phần ‘path’ chứa một thuộc tính d = “(path data)”. Thuộc tính d chứa các chỉ thị “moveto”, “line”, “curve”, “closepath” và các toạ độ trong hệ trục toạ độ người dùng hiện tại. 121
  3. Chương 3. Cấu trúc định dạng tập tin SVG Ví dụ 1: Ví dụ sau xây dựng một đường (là hình tam giác). Chỉ thị M tương ứng với lệnh “moveto”, L tương ứng với “lineto”, z tương ứng với “closepath”. Example triangle01- simple example of a 'path' A path that draws a triangle Kết quả trên trình duyệt: Hình 3.28 Minh họa thành phần ‘path’ 3.16 Thành phần ‘text’ 3.16.1 Giới thiệu Văn bản là một phần của phân đoạn tài liệu SVG được xây dựng bởi thành phần ‘text’. Thành phần ‘text’ được xây dựng như các thành phần đồ họa khác. Do đó các tính năng như phép biến đổi toạ độ, vẽ, xén, mặt nạ đều áp dụng được cho thành phần ‘text’ giống như cho các thành phần hình học (đường và hình chữ nhật chẳng hạn). 122
  4. Chương 3. Cấu trúc định dạng tập tin SVG SVG không tự động xuống dòng khi hiển thị văn bản. Để hiển thị nhiều dòng chúng ta dùng các phương pháp sau: • Dùng nhiều thành phần ‘text’ để hiển thị nhiều dòng • Dùng một thành phần ‘text’ với nhiều thành phần ‘tspan’ con có các thuộc tính ‘x’, ‘y’, ‘dx’, ‘dy’ để thiết lập vị trí mới cho phần văn bản trong dòng mới. Cách này cho phép người dùng chọn nhiều dòng văn bản khác nhau. • Mô tả văn bản trong một không gian tên XML khác (XHTML chẳng hạn) sau đó nhúng nội tuyến trong một thành phần ‘foreignOject’ (không được trình bày ở trong phạm vi đề tài này). Chuỗi văn bản trong thành phần ‘text’ có thể được hiển thị trên một hàng thẳng, hay dọc theo hình dạng của một thành phần ‘path’. SVG hỗ trợ các tính năng hiển thị văn bản trên hàng thẳng và trên thành phần ‘path’ như sau: • Hiển văn bản theo hướng thẳng đứng hay hướng ngang • Hiển thị văn bản theo hướng từ trái sang phải hai theo cả hai chiều • Hỗ trợ phông chữ Bởi vì văn bản trong SVG được đóng gói như dữ liệu kí tự XML nên: • Dữ liệu văn bản trong nội dung SVG có thể truy cập được. • Người dùng có thể chọn, tìm kiếm, sao chép phần văn bản được chọn vào vùng đệm. • Các công cụ tìm kiếm tương thích XML sẽ tìm các chuỗi văn bản trong nội dung SVG như trong tài liệu XML. SVG hỗ trợ nội dung SVG đa ngôn ngữ. 3.16.2 Thành phần ‘text’ Thành phần ‘text’ định nghĩa một thành phần đồ hoạ chứa chuỗi văn bản. Thành phần ‘text’ chứa trong nó dữ liệu văn bản, các thuộc tính định hướng, phông 123
  5. Chương 3. Cấu trúc định dạng tập tin SVG chữ, màu. Thành phần ‘text’ dùng cùng phương thức xây dựng (render) như các thành phần đồ hoạ khác. Thành phần ‘text’ xây dựng nét vẽ (glyph) đầu tiên của nó tại vị trí văn bản hiện tại khởi tạo (initial curent text position). Vị trí này được thiết lập bởi thuộc tính ‘x’ và ‘y’ trên thành phần ‘text’. Vị trí “văn bản hiện tại khởi tạo” này có thể được điều chỉnh theo giá trị của thuộc tính ‘text-anchor’, sự có mặt của thành phần ‘textPath’ chứa kí tự đầu tiên, và/hoặc giá trị của thuộc tính ‘x’, ‘y’, ‘dx’, ‘dy’ trên thành phần ‘tspan’, ‘tref’ hoặc ‘altGlyph’ chứa kí tự đầu tiên. Sau khi nét vẽ tương ứng với kí tự cho sẵn được xây dựng xong, vị trí văn bản hiện tại được cập nhật cho kí tự kế tiếp.Trong trường hợp đơn giản nhất, vị trí văn bản hiện tại bằng vị trí hiện tại trước đó cộng với giá trị tăng lên do nét vẽ gây ra (theo chiều ngang hay chiều dọc). Một số thuộc tính của thành phần ‘text’: • x = “+” Nếu một được cung cấp thì giá trị này cho biết toạ độ X tuyệt đối của vị trí văn bản hiện tại. Vị trí này được dùng để xây dựng các nét vẽ tương ứng với kí tự đầu tiên trong thành phần ‘text’ này hoặc bất kỳ thành phần con nào khác của nó. Nếu một mảng gồm phần tử được cung cấp thì các giá trị này cho biết các toạ độ X của vị trí văn bản hiện tại. Các vị trí này được dùng để xây dựng các nét vẽ tương ứng với kí tự ban đầu trong thành phần ‘text’ này hoặc bất kỳ thành phần con của nó. Giá trị mặc định là “0” • y = “+” Xử lý như thuộc tính ‘x’ nhưng trên trục y. • dx = “” 124
  6. Chương 3. Cấu trúc định dạng tập tin SVG Thiết lập độ dịch chuyển dọc theo trục x so với vị trí văn bản hiện tại cho các kí tự trong thành phần ‘text’ này hay bất kỳ thành phần con nào của nó. • dy = “” Tác dụng như thuộc tính ‘dx’ nhưng trên trục y. • rotate = “+” Thiết lập góc quay của các nét vẽ tương ứng với các kí tự quanh vị trí văn bản hiện tại. Thuộc tính “text-anchor” và “font-family” dùng để canh lề và thiết lập phông chữ cho phần văn bản trong thành phần “text” (sẽ được trình bày sau). Ngoài ra, một số thuộc tính khác nữa cũng được sử dụng nhưng không được mô tả ở đây. Ví dụ 1: Xuất chuỗi “Hello, out there” trên phông nền, dùng phông chữ Verdana và tô các nét vẽ màu xanh. Example text01 - 'Hello, out there' in blue Hello, out there 125
  7. Chương 3. Cấu trúc định dạng tập tin SVG Kết quả trên trình duyệt: Hình 3.29 Minh họa thành phần ‘text’ 3.16.3 Thuộc tính thiết lập phông chữ cho thành phần ‘text’ Một số thuộc tính dùng để thiết lập phông chữ cho văn bản (thành phần ‘text’, ‘tspan’, ‘tref’). font-family = [[ | ],]* [ |] | inherit Thuộc tính này dùng để chỉ định họ phông chữ được dùng để hiển thị văn bản. font-style = normal | italic | oblique | inherit Thuộc tính này dùng để chỉ định kiểu hiển thị văn bản là bình thường (normal), nghiên (italic), hay trong suốt (oblique). font-variant = normal | small-caps | inherit Thuộc tính này dùng để chỉ định văn bản hiển thị dưới dạng chữ thường hay chữ hoa. font-weight = normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit Thuộc tính này dùng để chỉ định độ lớn, nhỏ của nét vẽ tương ứng với các phông chữ khác nhau trong cùng một họ. 126
  8. Chương 3. Cấu trúc định dạng tập tin SVG font-size = | | | | inherit Thuộc tính này dùng để chỉ định kích thước phông chữ hiển thị cho văn bản. Trong tài liệu SVG, nếu được cung cấp mà không có đơn vị chỉ định (ví dụ, giá trị 128) thì tác nhân người dùng hiểu là giá trị chiều cao của chữ trong hệ trục toạ độ người dùng hiện tại. Nếu được cung cấp với một đơn vị chỉ định cụ thể (ví dụ, 12pt hoặc 10%), thì tác nhân người dùng sẽ chuyển sang giá trị tương ứng trong hệ trục toạ độ người dùng hiện tại. font-size-adjust = | none | inherit Thuộc tính này dùng để chỉ định giá trị riêng cho một thành phần để bảo toàn chiều cao của phông chữ được chọn đầu tiên trong phông chữ thay thế. font = [ [ || || ]? [ / ]? ] |caption | icon | menu | message-box| small-caption | status-bar | inherit Một thuộc tính dùng để thiết lập nhanh ‘font-style’ (kiểu phông chữ), ‘font-variant’ (chữ hoa, chữ thường), ‘font-weight’(độ lớn của nét chữ), ‘font-size’ (kích thước chữ), ‘line-height’ (được hiển là ‘font-size’) và ‘font-family’ (họ phông chữ). Định nghĩa chi tiết của các thuộc tính này trong đặc tả trang định kiểu phân cấp (CSS) (không được trình bày ở đây). 3.16.4 Thuộc tính canh lề Trong phạm vi đề tài, chỉ có thuộc tính canh lề ‘text-anchor’ được xét đến. 127
  9. Chương 3. Cấu trúc định dạng tập tin SVG Thuộc tính ‘text-anchor’ được dùng để canh lề cho chuỗi văn bản tương đối so với điểm cho trước. Thuộc tính ‘text-anchor’ nhận một trong các giá trị sau “start”, “middle”, “end”, “inherit”. Mặc định là “start”. Ý nghĩa của các giá trị: • start Vị trí bắt đầu chuỗi trùng với vị trí văn bản hiện tại khởi tạo. • middle Vị trí giữa của chuỗi văn bản trùng với vị trí văn bản hiện tại khởi tạo. • end Vị trí cuối chuỗi trùng với vị trí văn bản hiện tại khởi tạo. 3.16.5 Thành phần ‘tspan’ Thành phần ‘tspan’ là thành phần con trong thành phần ‘text’. Thuộc tính văn bản, phông chữ và vị trí văn bản hiện tại có thể được điều chỉnh bằng các giá trị tọa độ tương đối hay tuyệt đối trong thành phần ‘tspan’. Một số thuộc tính của thành phần ‘tspan’: • Thuộc tính ‘x’, ‘y’, ‘dx’, ‘dy’, ‘rotate’, các thuộc tính thiết lập phông chữ, canh lề nội dung văn bản thì tương tự như các thuộc tính của thành phần ‘text’. Ngoài ra, ‘tspan’ còn có các tính chất khác nhưng không được trình bày trong phạm vi tìm hiểu. Ví dụ 1: Ví dụ sau dùng thành phần ‘tspan’ để hiển thị từ “not” với phông chữ đậm và màu đỏ.
  10. Chương 3. Cấu trúc định dạng tập tin SVG xmlns="http://www.w3.org/2000/svg" version="1.1"> Example tspan01 - using tspan to change visual attributes You are not a banana. Kết quả trên trình duyệt : Hình 3.30. Minh họa thành phần ‘tspan’ Ví dụ 2: Ví dụ sau dùng thuộc tính ‘dx’ và ‘dy’ trên thành phần ‘tspan’ để hiệu chỉnh vị trí văn bản hiện tại cho chuỗi văn bản đặc biệt trong thành phần ‘text’. Example tspan02 - using tspan's dx and dy attributes for incremental positioning adjustments But you are a peach! 129
  11. Chương 3. Cấu trúc định dạng tập tin SVG Kết quả trên trình duyệt : Hình 3.31. Minh họa thành phần ‘tspan’ có một vị trí đặc biệt Ví dụ 3: Ví dụ sau dùng thuộc tính ‘x’ và ‘y’ trên thành phần ‘tspan’ để thiết lập vị trí mới cho mỗi kí tự trong chuỗi. Ví dụ này hiển thị hai dòng trong cùng một thành phần ‘text’. Example tspan03 - using tspan's x and y attributes for multiline text and precise glyph positioning Cute and fuzzy 130
  12. Chương 3. Cấu trúc định dạng tập tin SVG Kết quả trên trình duyệt: Hình 3.32. Minh họa thành phần ‘tspan’ thiết lập vị trí mới cho mỗi kí tự trong chuỗi 3.16.6 Thành phần ‘tref’ Nội dung văn bản của thành phần ‘text’ có thể là dữ liệu kí tự được nhúng trực tiếp trong thành phần ‘text’, hoặc cũng có thể là nội dung dữ liệu văn bản của một thành phần được tham chiếu. Tham chiếu này được thực hiện bởi thành phần ‘tref’, thành phần ‘tref’ này là con của thành phần ‘text’. Một số thuộc tính của thành phần ‘tref’: • xlink:href = “” Một tham chiếu URI tới một thành phần hay phân đoạn trong một phân đoạn tài liệu SVG mà nội dung dữ liệu kí tự của nó (thành phần được tham chiếu) sẽ được dùng như dữ liệu kí tự của thành phần ‘tref’. • Thuộc tính ‘x’, ‘y’, ‘dx’, ‘dy’, ‘rotate’ có cùng ý nghĩa với các thuộc tính tương ứng của thành phần ‘tspan’. Các thuộc tính này được dùng như thể thành phần ‘tref’ được thay thế bới một thành phần ‘tspan’, trong đó dữ liệu kí tự được tham chiếu sẽ được nhúng vào trong thành phần ‘tspan’ giả thuyết này. Ví dụ 1: Ví dụ sau minh hoạ cách dùng dữ liệu kí tự từ một thành phần khác như là dữ liệu kí tự của một thành phần ‘tspan’ cho sẵn. Thành phần ‘text’ có id = “ReferencedText” sẽ không được hiển thị vì nó là con của thành phần ‘defs’. Thành phần ‘text’ thứ hai hiển thị chuỗi : “Inline character data”. Thành phần ‘text’ thứ ba hiển thị chuỗi “Referenced character data”. Nó (thành phần ‘text’ thứ ba) chứa một 131
  13. Chương 3. Cấu trúc định dạng tập tin SVG thành phần ‘tref’ tham chiếu tới một thành phần có ‘text’ khác (có id = “ReferencedText”, và dữ liệu kí tự là “Referenced character data”). Referenced character data Example tref01 - inline vs reference text content Inline character data Kết quả trên trình duyệt: Hình 3.33. Minh họa thành phần ‘tref’ 3.17 Vẽ chữ dọc theo một đường 3.17.1 Giới thiệu: Ngoài khả năng vẽ chữ trên một hàng thẳng, SVG còn hỗ trợ khả năng vẽ chữ dọc theo hình dáng của một thành phần ‘path’. Để chỉ định một chuỗi hiển thị dọc 132
  14. Chương 3. Cấu trúc định dạng tập tin SVG theo hình dạng của một thành phần ‘path’, ta dùng thành phần ‘textPath’. Thành phần này có một thuộc tính ‘xink:href’ chứa một tham chiếu URI tới một thành phần ‘path’ sẽ được dùng làm khung cho nội dung văn bản hiển thị trên đó (thành phần ‘path’ này không được hiển thị trên màn hình ). 3.17.2 Thành phần ‘textPath’ Một số thuộc tính của thành phần ‘textPath’ startOffset= “” Dùng xác định vị trí bắt đầu vẽ chữ trên ‘path’, chính là khoảng cách từ vị trí đầu đường đến vị trí bắt đầu vẽ chữ, được tính bằng thuật toán tính khoảng cách của tác nhân người dùng. Thuộc tính này có thể nhận giá trị phần trăm (%) . Khi đó ‘startOffset’ là phần trăm độ dài của toàn bộ đường. Nếu startOffset= “0%” chỉ định vị trí bắt đầu của ‘path’ và startOffset= “100%” tương đương với vị trí kết thúc của ‘path’. Không nhận giá trị âm. Giá trị mặc định là “0”. method = “align| strech” Thuộc tính này dùng để chỉ định phương thức hiển thị chữ. spacing = “auto | exact” Dùng xác định khoảng cách giữa các kí tự được hiển thị dọc theo đường. Giá trị mặc định là ‘auto’ chỉ định tác nhân người dùng sử dụng thuật toán hiển thị chữ trên đường để chỉnh khoảng cách của các kí tự là đẹp nhất. Thuộc tính này có thể nhận một giá trị số nguyên để chỉ định khoảng cách giữa các kí tự. 133
  15. Chương 3. Cấu trúc định dạng tập tin SVG xlink:href = “” Tham chiếu URI tới một thành phần ‘path’ mà các kí tự sẽ hiển thị dọc theo đó. Nếu là một tham chiếu không hợp lệ (ví dụ, thành phần được tham chiếu không tồn tại hoặc thành phần được tham chiếu không phải là thành phần ‘path’) thì nó gây ra lỗi và toàn bộ nội dung sẽ không được tác nhân người dùng hiển thị. Các toạ độ trong dữ liệu đường (path data) của thành phần ‘path’ được tham chiếu được tính theo đơn vị của hệ trục toạ độ như của thành phần ‘text’, mà không theo tính theo đơn vị của hệ trục toạ độ nơi thành phần ‘path’ được định nghĩa. Thuộc tính ‘transform’ của thành phần ‘path’ được tham chiếu cung cấp một phép biến đổi bổ sung. Ví dụ: Text along path1 Nó tương đương với định nghĩa sau: 134
  16. Chương 3. Cấu trúc định dạng tập tin SVG Text along path1 Như vậy dòng transform="translate(25,25)" không ảnh hưởng tới thành phần ‘textPath’. Ngược lại trong đoạn tài liệu thứ hai, dòng transform="rotate(45)" ảnh hưởng tới cả hai thành phần ‘text’ và ‘path’. Ví dụ 1: Ví dụ đơn giản sau vẽ chữ dọc theo đường Example toap01 - simple text on a path We go up, then we go down, then up again 135
  17. Chương 3. Cấu trúc định dạng tập tin SVG Kết quả trên trình duyệt là: Hình 3.34. Minh họa thành phần ‘textPath’ Ví dụ 2: Thành phần ‘tspan’ được dùng trong thành phần ‘textPath’ để điều chỉnh thuộc tính định kiểu và hiệu chỉnh lại toạ độ văn bản hiện tại trước khi xây dựng một nét vẽ cụ thể. Từ “up” sẽ được tô đỏ và được nâng lên cao nhờ thuộc tính ‘dy’ trong thành phần ‘tspan’. Example toap02 - tspan within textPath We go up , then we go down, then up again 136
  18. Chương 3. Cấu trúc định dạng tập tin SVG Kết quả trên trình duyệt: Hình 3.35. Minh họa thành phần ‘textPath’ có sử dụng thuộc tính ‘tspan’ Ví dụ 3: Minh hoạ cách sử dụng thuộc tính ‘startOffset’ trên thành phần ‘textPath’ để chỉ định vị trí bắt đầu của chuỗi văn bản trên thành phần ‘path’. Chú ý rằng các nét vẽ vượt ra khỏi điểm cuối của đường sẽ khộng được hiển thị. Example toap03 - text on a path with startOffset attribute We go up, then we go down, then up again
  19. Chương 3. Cấu trúc định dạng tập tin SVG fill="none" stroke="blue" stroke-width="2" /> Kết quả trên trình duyệt: Hình 3.36. Minh họa thành phần ‘textPath’ sử dụng thuộc tính ‘startOffset’ 3.18 Khả năng ảnh động của SVG - thành phần ‘animate’ 3.18.1 Giới thiệu SVG hỗ trợ khả năng thay đổi ảnh đồ hoạ véc-tơ theo thời gian. Nội dung SVG có thể thay đổi động theo các cách sau: • Dùng thành phần “ảnh động” của SVG. Phân đoạn tài liệu SVG có thể mô tả các thay đổi dựa theo thời gian cho các thành phần của tài liệu. Bằng cách dùng các thành phần ảnh động khác nhau, chúng ta có thể định nghĩa các chuyển động theo đường, hiệu ứng sáng và mờ đi, các đối tượng lớn lên, nhấp nháy, quay và thay đổi màu…. • Dùng SVG DOM. Mỗi thuộc tính và trang định kiểu có thể được truy cập bằng script, và SVG đưa ra một tập các giao diện DOM hỗ trợ tạo ảnh động bằng script. Kết quả là bất kỳ loại ảnh động nào đều có thể được tạo ra. Khả năng định giờ (timer) bằng ngôn ngữ viết script, như ECMAScript, có thể được dùng để kích hoạt và kiểm soát ảnh động. • SVG được thiết kế để các phiên bản trong tương lai của SMIL dùng nội dung SVG tĩnh hay động như những thành phần phương tiện truyền thông. 138
  20. Chương 3. Cấu trúc định dạng tập tin SVG • Trong tương lai, phiên bản mới của SMIL sẽ được mô-đun hoá và các thành phần của nó có thể được dùng kết hợp với văn phạm SVG và văn phạm XML khác để đạt được các hiệu ứng động. 3.18.2 Các thành phần ảnh động 3.18.2.1 Tổng quan Các thành phần ảnh động của SVG được hợp tác phát triển với nhóm phát triển SYMM (W3C Synchronized Multimedia Working Group – nhóm phát triển đa phương tiện đồng bộ W3C), và các nhà phát triển SMIL 1.0 (Synchronized Multimedia Integration Languge1.0 Specification – ngôn ngữ tích hợp đa phương tiện không đồng bộ). Nhóm phát triển SYMM hợp tác với nhóm phát triển SVG đã tạo ra bản đặc tả ảnh động SMIL (SMIL Animation) cung cấp một tập tính năng năng ảnh động XML cho mục đích chung. SVG kết hợp các tính năng động được định nghĩa trong đặc tả SMIL Animation, đồng thời bổ sung một số mở rộng đặc trưng SVG. 3.18.2.2 Mối quan hệ của ảnh động SVG với SMIL Animation SVG là một “ngôn ngữ chủ” (host language) của SMIL Animation. Do đó nó có các ràng buộc và các tính năng bổ sung được cho phép bởi đặc tả SMIL Animation. Ngoài các quy tắc đặc trưng SVG được đề cập tường minh trong phần đặc tả này, còn có các định nghĩa chuẩn cho các thành phần ảnh động của SVG và các thuộc tính nằm trong đặc tả SMIL Animation. SVG hỗ trợ các thành phần ảnh động sau, được định nghĩa trong đặc tả SMIL Animation: • ‘animate’: cho phép các thuộc tính vô hướng nhận các giá trị khác nhau theo thời gian. 139
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2