問題タブ [path-2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
7030 参照

javascript - キャンバス全体をスケーリングせずにキャンバスPath2d(svgパスデータを使用)をスケーリングしますか?

1 つのキャンバスに複数の Path2D があり、context.scale() と context.translate() を調整するのではなく、それぞれを個別にスケーリングおよび配置できるようにしたいと考えています。ストロークダッシュとストローク長を変更できるようにしたいので、SVG パスデータを使用して各 path2D オブジェクトを構築しています。

Path2D を使用してこれを達成できないようです。これを解決するための最良の方法は何ですか?

私はいくつかの潜在的なオプションを検討しています:

  1. svg ソースで drawImage メソッドを使用する
  2. svg パス データをキャンバス パス アークに変換します (おそらくライブラリを使用)
  3. 実際の SVG パス データを調整し、各ペイントの Path2D オブジェクトを再構築します。

編集:

p2 の位置を変更せずに p1 を p2 に向かって移動しようとしているこのコード ペンを作成しました。コンテキストを翻訳すると、両方のオブジェクトが移動します。p1のみの位置を調整する最良の方法は何ですか?

http://codepen.io/jasonpearson/pen/reXyVG

0 投票する
1 に答える
156 参照

java - java.awt.geom.Areaオブジェクトはポイントを複製していますか?

私は多くの 2D 浮動小数点ポリゴンを扱っています。あるものから別のものを減算する必要があるユース ケースを思いついたので、java.awt.geom.Area を使用すると考えました。4 つの点を持つ Area オブジェクトを作成します。

そして、Area を作成するときにこれらのポイントをどのように並べるかに関係なく、次の結果が返されます。

ほぼ同一の二重99.99999999999973, 54.24264068711893座標に注意してください。

それを回避する方法の手がかりは大歓迎です。コードは次のとおりです。