VS2015/WPFフォームアプリ
例えば画面左上から右下に向かう線分が多数あった場合に
矩形内にある線分だけ表示したいのでGeometryにあるClipを使って線分をクリッピングしました。
※ソース参照
画面上はClipした結果で期待した通りになりました。
その結果の線分を、データとして保存しておきたいので
クリッピングされている線分の始終点座標をどうにかして取得できないものでしょうか?
---ソース---
Path path = new Path();
path.Name = "PATH";
path.Stroke= new SolidColorBrush(Colors.Black);
path.StrokeThickness = 1;
GeometryGroup gg = new GeometryGroup();
//左上~右下に向かう10本の線分
for(int i=0;i<10;i++)
{
LineGeometry lg = new LineGeometry();
int ii = (i + 1) * 10;
lg.StartPoint = new Point(0+ii, 0);
lg.EndPoint = new Point(1080+ii, 1080);
gg.Children.Add(lg);
}
//線分をクリッピングした範囲で表示する
RectangleGeometry rg = new RectangleGeometry();
rg.Rect = new Rect(50,50,100,100;
//クリップ設定
path.Data = gg;
path.Clip = rg;
//フォームのgridに追加
mainGrid.Children.Add(path);
あなたの回答
tips
プレビュー