3.12 Hệ trục toạ độ, các phép biến đổi và các đơn vị đo
3.12.8 Thiết lập khung nhìn
Tại bất kỳ điểm nào trong hình vẽ SVG, chúng ta cĩ thể thiết lập một khung nhìn mới cho tất cả các thành phần chứa trong nĩ bằng cách thêm một thành phần ‘svg’ vào nội dung SVG. Bằng cách thiết lập một khung nhìn mới, chúng ta thiết lập một hệ trục toạ độ khung nhìn mới, một hệ trục toạ độ người dùng mới, và cũng cĩ thể thêm vào một đường xén mới.
Đường bao của khung nhìn mới được định nghĩa bởi thuộc tính ‘x’, ‘y’,
‘width’ và ‘height’ trong thành phần thiết lập khung nhìn mới, thành phần ‘svg’ chẳng hạn. Cả hai hệ trục toạ độ khung nhìn mới và hệ trục toạ độ người dùng cĩ cùng gốc toạ độ tại (x,y), x và y tương ứng với các giá trị được thiết lập trong thành phần thiết lập khung nhìn mới. Hướng của hệ trục toạ độ khung nhìn mới và hệ trục toạ độ người dùng mới tương ứng với hướng của hệ trục toạ độ người dùng hiện tại
107
khung nhìn mới và hệ trục toạ độ người dùng mới cùng giá trị với đơn vị trong
khung nhìn hiện tại đối với thành phần thiết lập khung nhìn mới này.
Ví dụ 1:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="4in" height="3in" version="1.1"
xmlns="http://www.w3.org/2000/svg"> <desc>This SVG drawing embeds another one, thus establishing a new viewport
</desc>
<!-- The following statement establishing a new viewport and renders SVG drawing B into that viewport --> <svg x="25%" y="25%" width="50%" height="50%">
<!-- drawing B goes here --> </svg>
</svg>
Các thành phần cĩ thể thiết lập khung nhìn mới:
• Thành phần ‘svg’.
• Thành phần ‘symbol’ định nghĩa một khung nhìn mới bất kỳ khi nào
được dùng cụ thể bởi thành phần ‘use’.
• Thành phần ‘image’ tham chiếu tới một tập tin SVG sẽ thiết lập một khung nhìn tạm thời vì trong nguồn tài nguyên được tham chiếu cĩ một thành phần ‘svg’.
• Thành phần ‘foreignObject’ (thành phần này khơng được mơ tả trong phạm vi tìm hiểu) tạo một khung nhìn mới để hiển thị nội dung trong
thành phần này.
Nếu khung nhìn mới thiết lập một đường xén mới thì sẽ được xác định bởi giá trị ‘overflow’ của thành phần thiết lập khung nhìn mới này. Nếu một đường xén được tạo tương ứng với khung nhìn mới, hình dạng của đường xén được xác định
108