gpt4 book ai didi

c# - UWP InkCanvas 用颜色填充徒手绘制的形状

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:35 26 4
gpt4 key购买 nike

我目前正在开发一个 UWP 应用程序,它应该允许用户在 InkCanvas 上绘制他想要的任何形状。这个形状的边缘是自动完成的,因此没有开放空间(到目前为止一切正常)。

现在我的问题是:如何使用单一颜色(或图案)自动填充此形状?我知道有一个“多边形中的点”算法,但我不知道如何在 UWP InkCanvas 中实现它,因为我真的不知道如何在不迭代每个点的情况下搜索形状内的点 Canvas 。

编辑:我实际上是通过使用“ Canvas ”作为叠加层来绘制多段线来完成的。通过使用 Polyline.Fill() 方法,它起作用了。但我只需要对“InkCanvas”产生同样的效果。

最佳答案

Now my question is: How do I automatically fill this shape with a single color (or a pattern)? I know that there is a "Point in Polygon" algorithm, but I have no idea how to implement it in the UWP InkCanvas

您可以通过为 InkStroke.DrawingAttributes 设置新的 InkDrawingAttributes 来重绘存在于 Ink Canvas 中的 Ink Strokes。 .

private void Button_Click(object sender, RoutedEventArgs e)
{
InkDrawingAttributes attr = new InkDrawingAttributes();
attr.Color = Colors.Red;
attr.IgnorePressure = true;
attr.PenTip = PenTipShape.Circle;
attr.Size = new Size(4, 10);
attr.PenTipTransform = Matrix3x2.CreateRotation((float)(70 * Math.PI / 180));
IReadOnlyList<InkStroke> InkStrokeList = MyInk.InkPresenter.StrokeContainer.GetStrokes();
foreach (InkStroke temp in InkStrokeList)
{
temp.DrawingAttributes = attr;
}
}

enter image description here

关于c# - UWP InkCanvas 用颜色填充徒手绘制的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44887466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com