Thông thường, phần tử <clipPath>
ẩn tất cả mọi thứ được làm mờ đường dẫn clip. Để đạt được hiệu ứng ngược lại - đó là "cắt bỏ" một cái gì đó từ hình ảnh - tôi muốn sử dụng hai đường dẫn trong clipPath và thuộc tính clip-rule="evenodd"
. Về cơ bản, tôi muốn "xor" đường dẫn clip.Đoạn trích SVGHãy cắt nội dung * ngoài * ra
Nhưng nó không hoạt động. Nó cho thấy khu vực "ORed":
<clipPath clip-rule="evenodd" id="imageclippath" clipPathUnits = "objectBoundingBox">
<rect clip-rule="evenodd" x="0.3" y="0.3" height="0.6" width="6" />
<rect clip-rule="evenodd" x="0" y="0" height="0.5" width="0.5" />
</clipPath>
<rect clip-path="url(#imageclippath)" x="0" y="0" height="500" width="500" fill="red"/>
EDIT:
Vấn đề của tôi là AFAIK <mask>
không hoạt động trong iOS WebKit.
Cảm ơn. Tôi quên thêm rằng tôi không thể nhận được '' làm việc tại WebKit của iOS. Sử dụng '' hoạt động, nhưng rất khó để chỉ định một hình elip theo điểm, ví dụ. –
tillda
Bạn có thể chỉ định một hình elip sử dụng lệnh đường dẫn vòng cung hoặc một vài lệnh đường cong, xem http://www.w3.org/TR/SVG11/paths.html#PathDataEllipticalArcCommands. –