System.Windows.Media.PolyBezierSegment
PolyBezierSegmentを使って連続した直線を描画してみた
本当はベジェ曲線を描くのに使うんだけど直線も描けた
今回のアプリのダウンロード先
見た目的な結果は前々回や前回と全く同じ
デザイン画面
コード、見るよう
コピペ用
制御点をアンカーポイントと同じ座標にすると
直線になる
重ねたので見えてないけど02,05の下にアンカーポイントがある
Pathから目的のPointまでの関係
上を簡単に書くと
Path.Data.PathFigure[0].PolyBezierSegment[0].Points
こうかな、こうしてみるとそんなに遠くない気もするけどやっぱり遠い
Pointsまで遠いのでPolyBezierSegmentを入れておく変数を用意
フィールドにMySegmentって名前でPolyBezierSegmentを入れる変数を作っておいて、そこからPointsを取得するようにした
アプリ起動時にMyPath.Dataの初期設定
MySegmentにPolyBezierSegmentを入れたり
Path.Data.PathFigure[0].PolyBezierSegment[0].Points
この部分の作成
左クリック時
その後は制御点を2つとアンカーポイント1つを追加、座標は全部クリックした座標を指定
最初の座標はPathFigure.StartPointでそれ以降がPolyBezierSegment.Pointになる
もしPathFigure.StartPointを指定しないとPoint(0,0)がStartPointになる
マウス移動時
最後のアンカーポイントの座標をマウスカーソルの位置にする
コード
関連記事
2018/06/11は2日後
マウスクリックでCanvasにベジェ曲線で曲線、PolyBezierSegment ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15544835.html
2018/06/08は昨日
マウスクリックでCanvasに直線を描画その2、Polyline、WPFとC# ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ直線ならこの方法が一番ラク
https://blogs.yahoo.co.jp/gogowaten/15540488.html
2015/1/27は3年前
Pixtack紫陽花2.6.50.134_マウスクリックでもベジェ曲線を描けるようにした ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/12656208.html
3年前、このときはWindowsForm+VisualBasic
ほとんど忘れていてなかなか進まない