Tôi cần phải tìm các giới hạn x và y hiển thị của đối tượng đã được cắt bớt, để tôi có thể đặt các đối tượng khác xung quanh nó. Tuy nhiên, spec nói rằng getBBox
không tính đến đường dẫn clip, vì vậy tôi không thể sử dụng hộp giới hạn. Bất kỳ ý tưởng làm thế nào tôi có thể tìm thấy giới hạn hiển thị cho một đối tượng cắt bớt?Nhận hộp giới hạn "hiển thị" cho đối tượng bị cắt
6
A
Trả lời
7
Tạo phần tử <use>
ẩn tham chiếu đường dẫn trong tệp ClipPath và nhận hộp giới hạn đó. Sau đó, bạn chỉ muốn giao điểm của hộp giới hạn của đối tượng của bạn và đối tượng sử dụng.
<defs>
<clipPath id="clipPath">
<path id="path" ...>
</clipPath>
</defs>
<use id="clipPathBounds" visibility="hidden" xlink:href="#path"/>
Các vấn đề liên quan
- 1. Nhận hộp giới hạn của thành phố
- 2. Làm cách nào để hiển thị hộp giới hạn cho một CCNode trong cocos2d?
- 3. truy xuất hộp giới hạn của đối tượng đa đối tượng geodjango
- 4. Ghi đè hiển thị của giới hạn kích thước trang/giới hạn kích thước StreamReader?
- 5. Hộp giới hạn cho đa giác
- 6. Giới hạn kích thước đối tượng OpenGL FrameBuffer tối đa?
- 7. Giới hạn hiển thị hành vi Silverlight/WPF
- 8. Với một hộp giới hạn và một dòng (hai điểm), xác định xem đường có cắt ngang hộp
- 9. HTML Chọn + giới hạn số tùy chọn hiển thị
- 10. Giới hạn ref được hiển thị với git log --decorate
- 11. Giới hạn hạn ngạch 1MB cho đối tượng blobstore trong Google App Engine?
- 12. Đối tượng Ruby có giới hạn kích thước không?
- 13. Cách thiết lập thuộc tính trong angularjs chỉ thị bị giới hạn đối với các nhận xét
- 14. Hiển thị nội dung wpf trên/ngoài các giới hạn cửa sổ chính
- 15. Thiết giới hạn ranh giới cho một đối tượng có thể kéo
- 16. Các đề xuất số giới hạn hiển thị ở typeahead.js
- 17. Hiển thị hộp thoại xác nhận trong Fragment
- 18. Số lượng hộp kiểm giới hạn
- 19. Bóng SVG bị cắt
- 20. Giới hạn số đối tượng trong liên kết has_many
- 21. Giới hạn inlineformset_factory của Django chỉ tạo đối tượng mới
- 22. Hộp giới hạn 2D của một ngành?
- 23. Hộp giới hạn trong D3.js
- 24. Mảng bị cắt nhỏ trên bài đăng ajax. Giới hạn gửi bài của Ajax?
- 25. S3 giới hạn đối tượng trong một thùng
- 26. Giới hạn truy vấn của các mục được hiển thị cho quản trị viên django Inline
- 27. Cách hiển thị biểu tượng thích hợp trên hộp thoại
- 28. chỉ đặt giới hạn dưới của giới hạn cho ggplot
- 29. wpf: Nút, Hộp văn bản, bị cắt
- 30. nhận giới hạn hiện tại?
Tôi đã hy vọng tìm được thứ gì đó bên cạnh hơn một chút; tính toán một giao lộ là, nói chung, khó khăn. Tôi đã tìm thấy một trao đổi dài về danh sách SVG về điều này một vài ngày trước, nhưng tiếc là tôi không thể tìm thấy nó vào lúc này. – EML
Tính toán giao điểm của hai hình chữ nhật rất dễ dàng. result.x = max (x, aRect.x); result.y = max (y, aRect.y); result.width = min (XMost(), aRect.XMost()) - result.x; result.height = min (YMost(), aRect.YMost()) - result.y; if (result.width <0 || result.height <0) { không cắt nhau ở tất cả } Ở đâu XMost() = rect.x + rect.height etc –
Đúng, nhưng đường dẫn clip có thể là hoàn toàn chung chung. Thử tính toán giao lộ của Bezier tùy ý với bất kỳ thứ gì khác. Ngay cả khi bạn chỉ muốn có một kết quả hình chữ nhật, như tôi làm, thì nó không tầm thường. Nó phải được thực hiện bởi trình kết xuất nói chung, để sắp xếp chi tiết cấp pixel, nhưng SVG không xuất hiện để xác định bất kỳ cách nào để thực hiện việc này. – EML