0
SVGが次のようになっているとします。SVG要素がビューポートに表示されているかどうかを確認する
<svg id="viewport" x="0" y="0" width="100%" height="100%">
<g id="canvas" transform="scale(0.17)">
<image class="imageTile" x="0" y="0" width="256" height="256"/>
<image class="imageTile" x="256" y="0" width="256" height="256"/>
<image class="imageTile" x="0" y="256" width="256" height="256"/>
<image class="imageTile" x="256" y="256" width="256" height="256"/>
</g>
</svg>
#canvas
をドラッグ可能になりますので、私はビューに.imageTile
をドラッグすると、私はダウンロードをオフに起動します:#canvas
は、いくつかの変換が適用されます。
var tiles = Y.all(".imageTile");
for (var i = 0; i < tiles.size(); i++) {
if (the tile is visible - ??) {
// set its xlink:href attribute
}
}
私はgetScreenCTM()
が私にSVGMatrixオブジェクトを取得することを知っているが、私は交差点を計算するためにそれを使用する方法がわかりません。私はまたSVGElement.getIntersectionList()
メソッドを認識していますが、ブラウザの互換性の問題があるようです。より良い方法がありますか? Mr. B. Campin's SVG Open paperの助けを借りて
を。これは、ブラウザの互換性の問題があります。 checkIntersection()はFirefoxではサポートされていません。私は要素の変換タグがbboxと一緒に問題を解決すると思うが、まだ試していない。 – VectorVortec