問題タブ [pathgeometry]

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 に答える
2282 参照

wpf - 所々に伸びる WPF パスを作成する方法

ウィンドウ タブ用の WPF コントロールを作成したいのですが、特定の形状にしたいと考えています。このようなもの;

したがって、左下と右下の小さなタブは固定サイズです。およそ6x6。しかし今、私はそれを平手打ちしたコンテナの幅に合わせて中央のセクションを伸ばしたいと思っています.

現在、Path オブジェクトを使用していますが、ストレッチ セクションを取得する方法がわかりません。また、Path が正しい方法であるかどうかもわかりません。

この種の半分伸縮可能な形状を作成する最良の方法を提案できる人はいますか?

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

wpf - Cutting holes in PathGeometry

I have a PathGeometry defining some path like this one:

original path http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/original.gif

This is a simplified example. In reality it can have segments of any type (Line, Arc, Bezier).

Now I need to cut a hole of some sort and size (square, circle, etc.) in segment joint points so the final result looks something like this:

with holes http://devblog.ailon.org/devblog/_stuff/wpfpathgeoquestion/with_holes.gif

My initial idea was to combine the original PathGeometry with other Geometry containing squares (or whatever) in the joint points using GeometryCombineMode.Exclude. Unfortunately this produces empty geometry if path is not filled. And if it is filled it produces incorrect result.

So I'm stuck. In simple example with line segments I could've calculated the border points upfront and made my line segments end there, but with arcs and beziers this would be sort of overkill.

Does anyone have an idea how to accomplish this?

Note: I need these holes erased (transparent) so placing a white square above it wont do.

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

path - Silverlight 2 でパスを動的に決定する

キャンバス内に角が丸い境界線があり、キャンバスにクリッピング領域を追加して、追加したものが境界内の領域にクリップされるようにしたいと考えています。キャンバスの Clip プロパティを設定できることはわかっていますが、キャンバスとオブジェクトは XAML でサイズが割り当てられるのではなく動的にサイズ変更されるため、使用するパスを計算する方法がわかりません。UIElement (この場合は境界線) から PathGeometry を派生させる方法はありますか? そうでない場合、これにアプローチする最良の方法は何ですか? これは、私が使用しているテスト ページの XAML です。

0 投票する
7 に答える
22003 参照

wpf - 画像からパス ジオメトリを取得する

ロゴがある場合は、jpg または png として作成したとしましょう。それを使用してパスジオメトリを定義する方法について何か提案はありますか? ブレンドでそれを行う方法について何か提案があれば、本当に良いでしょう. ありがとう

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

wpf - WPF - パス/ジオメトリのヘルプ - 奇妙な形

Xaml からこのオブジェクトを作成する良い方法を知っている人はいますか? また、他のコントロールの上に重ねる場合は、.5 Opacity で動作する必要があります。

また、水平方向または垂直方向の配置によってサイズ変更できる必要があります。

私はいくつかの困難を抱えています。最も近いのは 2 つの境界線で、1 つには負のマージンがありますが、不透明度が適用されている場合は機能しません。

動作するコード:

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

c# - C#のベジェに沿って開始、終了、および1ポイントが指定されたときに、QuadraticBezierSegmentのコントロールポイントを検索します-QuadraticBezier3ポイント補間

これは、キュービックベジェについて私が尋ねた前の質問に似ています。始点、終点、および2次ベジェに沿って配置することを目的とした点があります。これらの3つのポイントを考慮して、WPFでQuadraticBezierSegmentを描画できるようにしたいのですが、描画するには単一のControlPoint値(QuadraticBezierSegmentではPoint1)が必要です。

その値を決定してQuadraticBezierを描画できる計算または手段はありますか?

ありがとう!

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

path - ベジエ パスでジオメトリの高度な操作を行うにはどうすればよいですか?

中点近似を使用して、通常のベジェ パス図 (多くのベジェ ポイントで形成された複雑なパス) を描画するライブラリがあります。

問題なく描画できますが、高度なジオメトリ操作のサポートを追加する必要があります: 曲線の最も近い点、交点、図に点が含まれています。さらに重要なことに、パスの組み合わせ: 差、交点、排他的論理和、結合、...

これらすべてを取得するための適切なソースはありますか?

ありがとう

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

wpf - SilverlightのPathGeometryのカスタム塗りつぶしプロパティ

私は依存関係のプロパティを見てきました(そして混乱しました)-これが私が必要としているものなのか、それとも何か他のものがあるのか​​わかりません。

特に、<Path.Data/>Silverlightの子に非常に固有の何かを探しています。要素にはプロパティがありますが、そのジオメトリのいずれかにプロパティを追加したいと思います。つまり、親とは異なる色になります。これは、または色、または親色のパーセンテージ(。よりも20%暗いなど)である可能性があります。<PathGeometry/><EllipseGeometry/><Path/>.Fill.Fill<SolidColorBrush/><LinearGradientBrush/><Path.Fill/>

これは可能ですか?これは依存関係のプロパティですか?<RectangleGeometry/>たとえば、私が色で塗りつぶそうとしていることをどうやって知ることができますか?どうすれば始められますか?

WPFを知っている人が役立つ可能性があるため、タグとしてWPFを追加することもできます

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

c# - WPFPathGeometryの更新は_SLOW_です

WPF UIには、次のようにベジェパスで接続されたノードがあります。

それは...アトミックhttp://nv3wrg.blu.livefilestore.com/y1pIGBd33lCC6lF-9H0MqgnL40BdNEoEemZDENzgpEI1IL2j4B-qb3qS3WlxMSys28IjqNngR7mdfvQBnPzerf4cFJQj9VqHB

ユーザーがノードをドラッグするときは、接続パスをリアルタイムで更新する必要があります。ただし、速度が低下していることに気づきました(特に、1つのノードが他の多くのノードに接続されている場合、または複数のノードが同時にドラッグされている場合)。私はそれをプロファイリングしました、そして主な問題はここにあるようです:

証明私は実際にプロファイラーを使用したので、「OMG、時期尚早のopiumzation、あなたは悪魔です!!」のようになってはいけません。http://nv3wrg.blu.livefilestore.com/y1pjRfQYuN57yei5qdUxW4Dlh4vVCzPy8TcfEzlw_8cUicfOR6BwHCTntcQbQUspRAgBdKcItC0ZcEJbIWMKaYrCtDMOtCB

これは、ソースプロパティまたは宛先プロパティのいずれかが変更されるたびに呼び出される関数です。パスを構成するジオメトリは、コントロールポイントが変更されるたびに内部で再生成されているようです。おそらく、関連するすべての依存関係プロパティが設定されるまで、ジオメトリが再生成されないようにする方法があったとしたらどうでしょうか。

編集: StreamGeometryを使用するMartのソリューションは、指数関数的に高速化しました。この機能はボトルネックにはほど遠いです。少し反映すると、PathGeometryは内部でStreamGeometryを使用し、依存関係のプロパティが変更されるたびに、StreamGeometryが再計算されます。したがって、この方法では仲介者を切り取るだけです。最終結果は次のとおりです。

プロジェクトの完全なソースコードは、http://zeal.codeplex.comで入手できます。