質問

dojoのgetBoundingBox()のドキュメントには、次のように記載されています。

  

形状の境界ボックスを返します。 A   テキストシェイプはポイントベースのオブジェクトなので、   境界ボックスを定義しません。

わかりません。 Web用のベクターグラフィックスの健全な実装には、テキストオブジェクト(raphaelJSとjQuery SVG)の境界ボックスが含まれています!ここで、「ポイントベースのオブジェクト」とは何ですか?という意味ですか

Groupオブジェクトのバウンディングボックスの参照が見つかりませんでしたが、最新のDojoバージョンを使用している場合、 getBoundingbox はグループの null も返します

自分で四角形の境界ボックスを簡単に作成できますが、境界ボックスが必要なのは、グループとテキストのみです。

次のようなホットパッチ道場を終了しました:

dojox.gfx.Text.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});
dojox.gfx.Group.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});

もちろん、SVG出力フロントエンドでのみ機能します。

しかし、私は何かが足りないのだろうか?それを行うためのより良い方法はありますか?

役に立ちましたか?

解決

  

Groupオブジェクトのバウンディングボックスへの参照が見つかりませんでしたが、最新のDojoバージョンを使用している場合、getBoundingboxはグループにもnullを返します

この問題はこのバグ修正に関連していますか?私にはそれのように聞こえます。それは pruzandによって7か月前に変更され、修正済みとしてマークされました

http://bugs.dojotoolkit.org/ticket/7019

2012-07-24の更新: release-1.8.0rc1 をローカルで設定し、同じをセットアップします解決されたチケットでテスト。これは実際に1.8で修正され、グループでnullを返すgetBoundingBoxはチケットに記載されているように解決されています。テストスクリプトは正常に戻ります:

bbox of group: {"x":0,"y":2,"endX":238,"endY":379,"width":238,"height":377}
transformed bbox: [{"x":277.7302117816355,"y":152.5448441073243},{"x":512.114456998541,"y":193.87311039205372},{"x":446.64909401810826,"y":565.1456332776561},{"x":212.26484880120276,"y":523.8173669929267}]

また価値があるものについては、このtwitterの投稿によると、1.8がリリースされる予定です。 1〜2週間で。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top