2

午後全部、

Raphaelを使用して、(ページの残りの部分と一緒に)ズームでき、注釈が付けられた動的な「定規」を描画しようとしています。

RaphaelのpathBBox()とisBBoxIntersectは、目盛りを特定のポイントで印刷する必要があるのか​​、それとも別のポイントに近すぎてスキップする必要があるのか​​を判断するのに非常に便利です。

ここで、いくつかの目盛りに注釈を付ける必要があり、同様の方法に従います。最大の目盛りに注釈を付け、最小レベルの詳細まで作業しますが、すでに描画されているものと交差する場合はテキストの描画をスキップします。

残念ながら、Raphaelのドキュメントを調べたところ、Paper.print()メソッドとPaper.text()メソッドしか表示されていません。どちらも、紙に追加されています。つまり、追加してからbboxを見つけてテストし、不良の場合は削除する必要があります。これはかなり遅い可能性があります。

bboxオブジェクトを手動で作成し、保存されているbboxに対してテストできるように、印刷せずに印刷したいテキストのサイズを見つける方法はありますか?

いつものように、よろしくお願いします!:-)

乾杯、-オリ

4

1 に答える 1

0

テキストに.getBBox()を使用できます。

 var text = paper.text(...);
 if (text.getBBox().width > max) ...;

私はこれが公式に文書化されているのを見ませんでしたが、それは機能し、明らかにクロスブラウザです。

于 2012-03-23T13:02:14.213 に答える