Mặt nạ Vector Layer

Tổng quan về Mặt nạ Vector Layer

Một mặt nạ vector là một đường dẫn không phụ thuộc vào độ phân giải cắt ra nội dung của lớp. Mặt nạ vector thường chính xác hơn so với mặt nạ được tạo bằng các công cụ dựa trên pixel. Bạn tạo mặt nạ vector bằng cách sử dụng công cụ bút hoặc hình dạng.

Aspose.PSD hỗ trợ hiển thị và áp dụng mặt nạ vector. Bạn có thể chỉnh sửa mặt nạ vector thông qua việc chỉnh sửa của Vector Paths.

Đường vector trong Aspose.PSD

Truy cập vào các đường vector trong Aspose.PSD được cung cấp thông qua VsmsResouceVmskResouce resources là các lớp con của VectorPathDataResource.

todo:image_alt_text

Làm thế nào để chỉnh sửa một đường vector?

Cấu trúc đường vector

Cấu trúc cơ bản để chỉnh sửa đường là VectorPathRecord. Nhưng với sự tiện lợi của bạn, giải pháp sau được đề xuất.

Để dễ dàng chỉnh sửa các đường vector, bạn nên sử dụng lớp VectorPath, chứa các phương thức để chỉnh sửa dữ liệu vector một cách thoải mái trong tài nguyên được kế thừa từ VectorPathDataResource

Bắt đầu với việc tạo một đối tượng kiểu VectorPath.

Để thuận tiện, bạn có thể sử dụng phương thức tĩnh VectorDataProvider.CreateVectorPathForLayer, nó sẽ tìm một tài nguyên vector trong lớp đầu vào và tạo một đối tượng VectorPath dựa trên nó.

Sau tất cả các chỉnh sửa, bạn có thể áp dụng đối tượng VectorPath với các thay đổi trở lại lớp bằng cách sử dụng phương thức tĩnh VectorDataProvider.UpdateLayerFromVectorPath.

Kiểu VectorPath chứa một danh sách các phần tử PathShape và mô tả một hình ảnh vector hoàn chỉnh có thể bao gồm một hoặc nhiều hình dạng.

todo:image_alt_text

Mỗi PathShape là một hình vẽ vector bao gồm một bộ các nút bezier (điểm) riêng lẻ.

Nút là đối tượng kiểu BezierKnot thực chất là các điểm từ đó hình dạng được xây dựng.

todo:image_alt_text

Ví dụ mã sau cho thấy cách truy cập vào một hình và các điểm.

Làm thế nào để tạo một hình dạng?

Để chỉnh sửa một hình dạng, bạn cần lấy một hình dạng hiện có từ danh sách VectorPath.Shapes, hoặc thêm một hình dạng mới bằng cách tạo một thể hiện PathShape và thêm nó vào danh sách Shapes.

Làm thế nào để thêm nút (điểm)?

Bạn có thể điều chỉnh các điểm của hình dạng như các phần tử của một danh sách thông thường sử dụng thuộc tính PathShape.Points, ví dụ, bạn có thể thêm các điểm hình dạng:

BezierKnot chứa Điểm gốc và hai Điểm điều khiển.

todo:image_alt_text

Nếu điểm gốc và các điểm điều khiển có cùng giá trị, thì nút đó sẽ có một góc nhọn.

Để thay đổi vị trí điểm gốc cùng với các điểm điều khiển (tương tự như cách diễn ra trong Photoshop), BezierKnot có một phương thức Shift.

Ví dụ mã sau minh họa cách di chuyển toàn bộ nút bezier dọc lên theo tọa độ Y:

Bạn có thể điều chỉnh các điểm của hình dạng như các phần tử của một danh sách thông thường sử dụng thuộc tính PathShape.Points, ví dụ, bạn có thể thêm các điểm hình dạng:

Thuộc tính PathShape

Chỉnh sửa PathShape không chỉ giới hạn ở việc chỉnh sửa nút, kiểu này cũng có các thuộc tính khác.

PathOperations (Các phép toán Boolean)

Thuộc tính PathOperations là một phép toán boolean, việc thay đổi giá trị của nó xác định cách các hình dạng nhiều đã được kết hợp.

Có các giá trị có thể có sau:

  • 0 = ExcludeOverlappingShapes (Phép XOR).
  • 1 = CombineShapes (Phép OR).
  • 2 = SubtractFrontShape (Phép NOT).
  • 3 = IntersectShapeAreas (Phép AND).

todo:image_alt_text

Thuộc tính IsClosed

Ngoài ra, bằng cách sử dụng thuộc tính PathShape.IsClosed, chúng ta có thể xác định xem nút đầu tiên và cuối cùng của một hình dạng có được kết nối hay không.

Hình dạng Đóng Hình dạng Mở
todo:image_alt_text todo:image_alt_text

Thuộc tính FillColor

Không có hình dạng nào có màu sắc riêng, vì vậy bạn có thể thay đổi màu sắc của toàn bộ đường vector với thuộc tính VectorPath.FillColor.

Bạn có thể điều chỉnh các điểm của hình dạng như các phần tử của một danh sách thông thường sử dụng thuộc tính PathShape.Points, ví dụ, bạn có thể thêm các điểm hình dạng:

Tại đây bạn sẽ tìm thấy mã nguồn của VectorDataProvider và các lớp liên quan: