0
我正在寫一個程序製圖和我有一個非常好的效果,其中河的寬度是動態變化的用戶繪製它:是否可以動態更改PolyLine.strokeThickness值?
在繪製河邊可以看到寬度增加和減少。這裏是代碼:
Point TempP = new Point();
Point TempPBottom = new Point();
int ChangeRiverSize = 0;
int HowMuch = 0;
ChangeRiverSize = rnd.Next(1, 11);
if (ChangeRiverSize == 1)
{
HowMuch = rnd.Next(1, 3);
}
polyLine.Stroke = System.Windows.Media.Brushes.LightBlue;
if (HowMuch == 1)
RiverWidth--;
else if (HowMuch == 2)
RiverWidth++;
polyLine.StrokeThickness = RiverWidth;
TopPolyLine.Stroke = new SolidColorBrush(Colors.CornflowerBlue);
TopPolyLine.StrokeThickness = 2;
BottomPolyLine.Stroke = new SolidColorBrush(Colors.CornflowerBlue);
BottomPolyLine.StrokeThickness = 1;
currentPoint = e.GetPosition(MainCanvas);
TempP = currentPoint;
TempP.Y = TempP.Y - (RiverWidth/2);
TempPBottom = currentPoint;
TempPBottom.Y = TempPBottom.Y + (RiverWidth/2);
polygonPoints.Add(currentPoint);
TopPolygonPoints.Add(TempP);
BottomPolygonPoints.Add(TempPBottom);
polyLine.Points = polygonPoints;
TopPolyLine.Points = TopPolygonPoints;
BottomPolyLine.Points = BottomPolygonPoints;
問題是,當用戶放棄鼠標按鈕時,似乎河流回到統一的寬度。然而,這兩個河岸移動和移出的事實愚弄了眼睛。
我在想,折線只能有一個寬度的整個線的長度。有沒有辦法解決?
地圖上的河流通常是一個填充區域,而不是描邊線條。 – Clemens
我填補了湖泊,森林和沼澤。我只是希望用一條線來做到這一點。 – zetar