Tôi có một PathGeometry xác định một số con đường như thế này:lỗ cắt trong PathGeometry
original path http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/original.gif
Đây là một ví dụ đơn giản. Trong thực tế nó có thể có các phân đoạn thuộc bất kỳ loại nào (Line, Arc, Bezier).
Bây giờ tôi cần phải cắt một lỗ của một số loại và kích thước (hình vuông, hình tròn, vv) trong phân khúc điểm chung nên kết quả cuối cùng trông giống như sau:
with holes http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/with_holes.gif
ý tưởng ban đầu của tôi là để kết hợp PathGeometry ban đầu với hình học khác có chứa hình vuông (hoặc bất cứ điều gì) trong các điểm doanh bằng cách sử dụng GeometryCombineMode.Exclude. Thật không may, điều này tạo ra hình học trống nếu đường dẫn không được điền. Và nếu nó được lấp đầy nó tạo ra kết quả không chính xác.
Vì vậy, tôi bị kẹt. Trong ví dụ đơn giản với các phân đoạn đường, tôi có thể đã tính toán các điểm biên giới trả trước và làm cho các đoạn đường của tôi kết thúc ở đó, nhưng với các cung tròn và beziers, đây sẽ là loại quá mức cần thiết.
Có ai có ý tưởng về cách thực hiện việc này không?
Lưu ý: Tôi cần những lỗ này bị xóa (trong suốt) để đặt một hình vuông màu trắng phía trên nó sẽ không làm.