5

我正在寻找一种在 C# 画布上绘制单个点(带有颜色)的方法。在android中我会做类似的事情

paint.Color = Color.Rgb (10, 10, 10);
canvas.DrawPoint (x, y, paint);

所以我以为我可以在Shape 类中找到它,但它不存在。我错过了什么还是没有办法画出一个点?

在第二种情况下,推荐的绘制点的方法是什么?在 HTML5 画布中存在类似的问题,人们正在使用矩形/圆形绘制点。

PS一个类似标题的问题Add Point to Canvas没有回答它并进入“如何绘制形状”。

4

2 回答 2

4

我刚刚为 UWP 遇到了同样的问题,我最终决定使用椭圆:

int dotSize = 10;

Ellipse currentDot = new Ellipse();
currentDot.Stroke = new SolidColorBrush(Colors.Green);
currentDot.StrokeThickness = 3;
Canvas.SetZIndex(currentDot, 3);
currentDot.Height = dotSize;
currentDot.Width = dotSize;
currentDot.Fill = new SolidColorBrush(Colors.Green);
currentDot.Margin = new Thickness(100, 200, 0, 0); // Sets the position.
myGrid.Children.Add(currentDot);
于 2016-04-07T16:52:35.813 回答
1

多段线呢?

xml:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <Canvas x:Name="canvas" Background="#00FFFFFF" MouseMove="Canvas_MouseMove">
        <Polyline x:Name="polyline" Stroke="DarkGreen" StrokeThickness="3"/>
    </Canvas>
</Grid>

C#:

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
    polyline.Points.Add(new Point(0,0));
    polyline.Points.Add(new Point(0, 1));
    polyline.Points.Add(new Point(1, 0));
    polyline.Points.Add(new Point(1, 1));
}
于 2014-02-14T14:03:33.907 回答