如何获得缩放的UWP inkstroke点?

如何获得缩放的UWP inkstroke点?,uwp,scale,inkcanvas,Uwp,Scale,Inkcanvas,我在inkcanvas中有一个inkStroke,我使用方法GetInkPoints来获取inkStroke的点集合,如果inkcanvas大小为100*100,我想将inkStroke映射到一个200*200的页面,那么我需要缩放inkStroke,缩放因子为2,如果我直接使用点x和y乘以比例因子,inkstroke的形状有时会扭曲(例如,当inkstroke是一个圆时),那么有人知道如何对inkstroke进行变换并获得其点吗 新增:我发现inkstroke由几个Bézier曲线组成,所以有

我在
inkcanvas
中有一个
inkStroke
,我使用方法
GetInkPoints
来获取inkStroke的点集合,如果inkcanvas大小为100*100,我想将inkStroke映射到一个200*200的页面,那么我需要缩放inkStroke,缩放因子为2,如果我直接使用点x和y乘以比例因子,inkstroke的形状有时会扭曲(例如,当inkstroke是一个圆时),那么有人知道如何对inkstroke进行变换并获得其点吗


新增:我发现inkstroke由几个Bézier曲线组成,所以有人知道如何缩放Bézier曲线吗?也许我可以缩放笔划中的每条贝塞尔曲线,并生成一个新的inkstroke并获取其点。

如果您想缩放
inkstroke
,我们不需要获取笔划中的点。我们可以用它来获取集合中的所有墨迹笔划

我们可以使用
InkStroke.PointTransform
属性设置仿射变换矩阵以应用于每个
InkStroke
。提供
CreateScale
以从给定的X和Y分量创建比例矩阵

例如:

var MyStrokes=  MyInkCanvas.InkPresenter.StrokeContainer.GetStrokes();
foreach (var stroke in MyStrokes)
{
    stroke.PointTransform = Matrix3x2.CreateScale(2, 2);
}

如果要缩放
InkStroke
,则不需要在中获取点。我们可以用它来获取集合中的所有墨迹笔划

我们可以使用
InkStroke.PointTransform
属性设置仿射变换矩阵以应用于每个
InkStroke
。提供
CreateScale
以从给定的X和Y分量创建比例矩阵

例如:

var MyStrokes=  MyInkCanvas.InkPresenter.StrokeContainer.GetStrokes();
foreach (var stroke in MyStrokes)
{
    stroke.PointTransform = Matrix3x2.CreateScale(2, 2);
}

实际上,直接乘以比例因子是有效的,我只是在比例因子上犯了一些错误。谢谢你的回答。实际上直接乘以比例因子是有效的,我只是在比例因子上犯了一些错误。谢谢你的回答。