問題タブ [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.
c# - PathGeometry の非 GUI 代替?
次のような PathGeometry.Combine を使用して比較する必要がある PathGeometry の 2 つの巨大な (>100000 アイテム) コレクションがあります。
驚いたことに、PathGeometry は GUI の一部であり、ディスパッチャーを使用します。これは、Parallel.ForEach() を使用して GUI を使用せずにバックグラウンド スレッドで計算を実行するため、問題を引き起こすことがあります。
そのため、GUI に接続されていない PathGeometry の代替を探しています。
私の図は非常に複雑で、多数の PathFigures を PathGeometry.Figures に追加しています。
肥大化した政府の xml ファイルからこれらの PathGeometry を自分で作成しているので、代わりに別のものを作成しても問題ありません。しかし、この図の赤い領域など、両方のジオメトリがカバーする領域を取得するために、これらのジオメトリの 2 つの交差を作成する関数が必要です (それらを相互に追加するのではありません)。
silverlight - EllipseGeometry が Silverlight でレンダリングされない
Ellipse の代わりに EllipseGeometry を使用して、WP7 Silverlight で円を描画しようとしています。MSDN のサンプル XAML は、Visual Studio のキャンバスに何も表示しません。アプリを実行すると、エミュレーターに表示されます。
何が起こっているのですか?
java - java.awt.geom.GeneralPath からポイント/操作を削除します
generalpath のポイントを削除する方法はありますか? 次のように GeneralPath を描画します。
ここで、new から GeneralPath を作成せずに、lineto(10,10) などの特定のポイント/操作を削除したいと考えています。(性能上の理由)
次のようなコマンドは私が好きなものですが、これは利用できません:
私の願いを説明するスクリーンショットを添付しました:-) GeneralPathの青いマークされたポイントを削除したいと思います。
感謝と敬意
c# - 楕円の半径を表示 - WPF
私は楕円形のジオメトリを持っています。C# を使用して、円の中心から端まで引かれた線で楕円の半径を表示したいと考えています。どうすればこれを達成できますか?
注: 楕円の中心と半径は固定されておらず、ユーザーが定義します。
wpf - 要素の場所を変更 WPF
C#コードで位置要素(行)を変更するにはどうすればよいですか?
c# - XAML で変換を使用してジオメトリを定義できないのはなぜですか?
私は、設定されたものを含むこの回答ResourceDictionary
を作成しようとしています:StreamGeometries
Transforms
ただし、次のエラーが表示されます。
1: タイプ「StreamGeometry」のオブジェクトにコンテンツを追加できません。
と
2: 初期化文字列 ' {PathData} 'の処理中に TypeConverter 構文エラーが発生しました。TypeConverter を介して作成されたオブジェクトでは、要素の属性は許可されません。
だから私はそれを試してみましたが、PathGeometry
このエラーが発生しました:
指定された値をコレクションに割り当てることができません。次のタイプが予期されていました: "PathFigure"。
XAML コードでジオメトリに変換を適用する方法はありますか? それとも、コードを介してそれを行う必要がありますか?
wpf - OpacityMask として PathGeometry で DrawingBrush を使用すると、意図したとおりに機能しません
OpacityMask
輪郭だけを描くために、別のパスとして機能するパスを取得しようとしています。2 つのパスが正しくオーバーラップするようになりましたが、GeometryDrawing
からを作成するPathGeometry
と、理解できない奇妙な結果が生成されます。
私が話していることを理解してもらうために、次の画像は、オレンジ色と黒色の 2 つのパスを重ね合わせて、オレンジ色のパスと黒い輪郭の効果を生み出しています。
私が探しているのはOpacityMask
、透明度を作成するために、オレンジ色のパス (一番上のパス) を黒いパスにすることです。GeometryDrawing
で使用するを作成しようとするとDrawingBrush
、奇妙な効果が得られます。
ご覧のとおり、黒いパスの内側を掘り下げる代わりに、その外側にマスクを作成し、パス上の実際のデータ ポイントを歪めます。
最初の画像を描画するコードは次のとおりです。
セットアップ コードを除外してキャンバスに追加すると、次のコードを使用して 2 番目の画像が作成されます。
なぜこれが起こっているのか誰にも教えてもらえますか?
更新 1: 別の要素から形状を切り出すことができないという問題に絞り込みました。不透明度マスクの理解から、システムに白黒の色を提供すると、画像またはコントロールの特定の領域をマスクできるという印象を受けましたが、残念ながら、私が得るのは逆です:透明でないものはすべてマスクされます.
c# - Path & StrokeWidth を Geometry に変換する
いくつかのポイントを取り、パスを構築するために複数の LineSegments を作成するコードが少しあります。
これにより、幅が 22px (おおよそ) の線が作成されます。これで実際のデータを見ると、LineSegement 要素のみが表示されます。これにより、基本的に次のような出力が得られます。実際の線は黒で、実際に表示される線は灰色です (危険な mspaint スケッチを許してください)。
ここで、Geometry で StrokeContains を実行して、指定した Point が上の pathSegment 全体 (灰色の領域) 内にあるかどうかを確認します。ただし、実際に行うことは、LineSegments (黒い線) に対するチェックです。
パスを構築するためのより良い方法はありますか? または、StrokeWidth を含む pathSegment を新しいパスに変換する方法はありますか?