Biến đổi và phần tử trang

Hướng dẫn này mô tả các khái niệm cơ bản được dùng trong việc biến đổi (tức là di chuyển, xoay, điều chỉnh theo tỷ lệ và cắt) các phần tử trang, đặc biệt là tập trung vào biến đổi affine cơ bản và các phép toán của biến đổi này.

Để biết thêm về cách sử dụng phép biến đổi affine để đạt được kết quả cụ thể, hãy xem hướng dẫn về Kích thước và vị trí hình dạng.

Kích thước và vị trí hình ảnh của một phần tử trang được kiểm soát bằng hai thuộc tính: size (kích thước) và transform (biến đổi). Kích thước mô tả kích thước lý tưởng hoặc tích hợp sẵn của phần tử trang đang được tạo. Biến đổi này chỉ định một ma trận biến đổi affine hai chiều chỉ định cách một đối tượng ở kích thước tích hợp được biến đổi để tạo ra giao diện hình ảnh cuối cùng.

Sơ đồ của một hình dạng được kết xuất thông qua phép biến đổi affine

Khi chọn một phần tử trang trong giao diện người dùng của Trang trình bày và thay đổi kích thước hình ảnh của phần tử đó bằng tay điều chỉnh, bạn thực sự đang cập nhật ma trận biến đổi này. Việc di chuyển phần tử trên trang hoặc xoay phần tử cũng sẽ cập nhật ma trận biến đổi của phần tử.

Sử dụng giao diện người dùng của Trang trình bày để bắt đầu

Số học ma trận mà bạn sử dụng để biến đổi và đổi kích thước các phần tử trang rất mạnh mẽ, nhưng có thể gây khó khăn cho bạn lúc đầu; phần lớn trang này mô tả các phép tính này. Tuy nhiên, bạn có thể đơn giản hoá thông số kỹ thuật của các phép biến đổi và kích thước bằng cách sử dụng phương pháp sau:

  1. Tạo các phần tử trang bằng giao diện người dùng của Slides.
  2. Định vị tỷ lệ các phần tử trang này theo ý muốn, vẫn sử dụng giao diện người dùng của Trang trình bày.
  3. Đọc kích thước và biến đổi của các phần tử đó bằng phương thức get.

Đó có thể là đủ để bạn bắt đầu; phần còn lại của hướng dẫn này sẽ giải thích chi tiết về các phép tính biến đổi mà bạn có thể sử dụng để thao tác với các phần tử trang.

Ma trận biến đổi affine

Các ma trận biến đổi affine hai chiều thường được các thư viện đồ hoạ sử dụng để kiểm soát tỷ lệ, độ xoay, độ xén, độ phản chiếu và độ dịch của các phần tử. Trong API Trang trình bày, phép biến đổi của một phần tử trang được biểu thị dưới dạng một ma trận 3x3:

A=[scale_xshear_xtranslate_xshear_yscale_ytranslate_y001]

Các tham số được dùng trong phép biến đổi là:

translate_x Tham số dịch chỉ định vị trí (X,Y) của góc trên bên trái của phần tử trang, tương ứng với góc trên bên trái của trang. Bạn chỉ định vị trí tương đối bằng cách sử dụng Đơn vị là điểm (pt) hoặc đơn vị đo lường theo hệ mét của Anh (EMU).
translate_y
scale_x Các tham số tỷ lệ kiểm soát kích thước của một phần tử trang khi được kết xuất. Đây là các hệ số nhân không có đơn vị; ví dụ: giá trị scale_x là 1, 5 sẽ làm tăng chiều rộng của phần tử thêm 50%.
scale_y
shear_x Các tham số cắt cũng không có đơn vị và kiểm soát độ nghiêng của một phần tử trang. Bạn có thể sử dụng cùng lúc các tham số tỷ lệ và cắt để xoay một phần tử trang.
shear_y

Bạn có thể tìm thấy nhiều ví dụ trên web cho thấy cách ma trận biến đổi 2D ảnh hưởng đến việc kết xuất đối tượng đồ hoạ.

Ma trận biến đổi tương ứng với nhóm hoặc trang chứa phần tử. Ví dụ: nếu bạn xoay một nhóm chứa hình chữ nhật, thì giá trị trường transform của nhóm sẽ phản ánh thao tác xoay, nhưng giá trị trường transform của hình chữ nhật thì không.

Tính toán kích thước hình ảnh

Để xác định kích thước hình ảnh (đã kết xuất) của một phần tử trang, bạn phải xem xét cả thuộc tính kích thước và thuộc tính biến đổi. Bạn không thể xác định phần tử nào trong hai phần tử trên trang có kích thước lớn hơn về mặt hình ảnh chỉ bằng cách so sánh các thuộc tính kích thước của chúng: bạn phải liên kết các ranh giới của phần tử bằng cách sử dụng ma trận biến đổi và tính toán kích thước hiển thị.

Liên kết một điểm

Để ánh xạ một điểm cụ thể bằng ma trận biến đổi, hãy chuyển đổi điểm (x, y) thành vectơ [x, y, 1] rồi thực hiện phép nhân ma trận. Hãy xem xét việc ánh xạ một điểm p:

p=Ap

Mã này sẽ trở thành:

[xy1]=[scale_xshear_xtranslate_xshear_yscale_ytranslate_y001][xy1]

Do đó, toạ độ của điểm mới p' là:

x=(scale_x×x)+(shear_x×y)+translate_xy=(scale_y×y)+(shear_y×x)+translate_y

Tính toán ranh giới

Để xác định kích thước kết xuất của hộp giới hạn của một phần tử sau khi biến đổi cắt và điều chỉnh theo tỷ lệ, hãy sử dụng:

width=(scale_x×width)+(shear_x×height)height=(scale_y×height)+(shear_y×width)

Để biết thêm về cách sử dụng phép biến đổi affine để đạt được kết quả cụ thể, hãy xem hướng dẫn về Kích thước và vị trí hình dạng.

Các điểm hạn chế

Một số trường định cỡ và định vị không tương thích với một số loại phần tử trang. Bảng bên dưới tóm tắt khả năng tương thích của một số thành phần trang nhất định với các trường định cỡ và định vị.

Trường Hình dạng Video Bảng
Bản dịch
Điều chỉnh theo tỷ lệ Không**
Cắt xén Không Không

** Để cập nhật kích thước hàng và cột của bảng, hãy sử dụng UpdateTableRowPropertiesRequestUpdateTableColumnPropertiesRequest.

Tất cả các trường định cỡ và định vị có thể cho ra kết quả không mong muốn nếu phần tử trang bị cắt bớt. Tất cả các giới hạn đều có thể thay đổi. Để biết thông tin mới nhất, hãy xem Google Slides API.