Kesişen bir nesnenin görünür x ve y sınırlarını bulmam gerekiyor, böylece etrafına başka nesneler yerleştirebiliyorum. Ancak, spec, getBBox
'un klip yollarını dikkate almadığını belirtir, bu nedenle sınırlayıcı kutuyu kullanamıyorum. Herhangi bir fikir kırpılmış bir nesne için ekran sınırlarını nasıl bulabilirim?Kırpılmış bir nesne için "display" sınırlayıcı kutunun alınması
6
A
cevap
7
clipPath yolunda başvurulan ve bunun sınırlayıcı kutucuğunu gösteren bir gizli <use>
öğesi oluşturun. Daha sonra sadece nesnenizin sınırlayıcı kutunun ve kullanım nesnesinin kesişmesini istiyorsunuz.
<defs>
<clipPath id="clipPath">
<path id="path" ...>
</clipPath>
</defs>
<use id="clipPathBounds" visibility="hidden" xlink:href="#path"/>
İlgili konular
- 1. İki sütunta kırpılmış görüntüler
- 2. sınırlayıcı
- 3. Esnek kutunun daralmasını önleme
- 4. sınırlayıcı
- 5. nasıl, yazan bir sınırlayıcı
- 6. Ray kontrolörleri için hız sınırlayıcı
- 7. Kırpılmış görüntü android bulanık Bulanıklık
- 8. Sınırlayıcı elips
- 9. Display php
- 10. CSS3 Kutunun yarısı için kutu gölgesi
- 11. Groovy: kutunun dışında bir stringToMap yok mu?
- 12. Belirli bir kişinin grubunun alınması
- 13. Bir UITableViewCell çerçevesinin geri alınması
- 14. Bir bitişik listedeki elemanların alınması
- 15. Bir LongListSelector Öğesinin SelectedIndex'inin Alınması
- 16. Display MessageBox, ASP
- 17. Float Precision Display (Android)
- 18. display: X sunucusu açılamıyor
- 19. Android: Animasyon ebeveyn görünümü tarafından kırpılmış
- 20. Python'da bir sınırlayıcı ile bir dizeyi bölme
- 21. Sınırlayıcı rect'in şeklini özelleştirme
- 22. Ayrık virgül; sınırlayıcı
- 23. (? & Dışındaki |/...) nadir sınırlayıcı sed
- 24. yerine --output-sınırlayıcı
- 25. RuntimeError: Geçersiz DISPLAY değişkeni
- 26. MySQL sınırlayıcı sözdizimi hatası
- 27. Retina-Display için Twitter Bootstrap bir uzantısı var mı?
- 28. "display: table" içeren bir div için min-height firefox'ta çalışmayan
- 29. Display more button düğmesi
- 30. display setFlash on spesifikfic
Bundan biraz daha fazla yanal bir şey bulmayı umuyordum; Bir kavşağı hesaplamak genelde güçtür. Birkaç gün önce SVG listesinde uzun bir değişim yaptım ama maalesef şu anda bulamıyorum. – EML
İki dikdörtgenin kesişimini hesaplamak kolaydır. result.x = max (x, aRect.x); sonuç.y = max (y, aRect.y); result.width = min (XMost(), aRect.XMost()) - sonuç.x; sonuç.seight = dak (YMost(), aRect.YMost()) - sonuç.y; halinde (result.width <0 || result.height <0) XMost() = rect.x + rect.height vb –
Doğru, ama bir klips yolu nerede olabilir { her kesişen yoktu} tamamen genel. Keyfi bir Bezier'in kesişimini başka bir şeyle hesaplamayı deneyin. Yaptığım gibi, sadece dikdörtgen bir sonuç alsanız bile, o zaman önemsiz değildir. Genel olarak renderer tarafından piksel düzeyindeki ayrıntının ayrılması gerekir, ancak SVG bunu yapmak için herhangi bir yol tanımlamaz. – EML