发布网友 发布时间:2022-05-15 20:52
共2个回答
热心网友 时间:2023-12-19 03:25
们要用它的 Stroke.Transform() 方法去实现转换:
#Stroke.Transform Method
ht tp:/ /msdn.microsoft.c om/en-us/library/system.windows.ink.stroke.transform(v=vs.110).aspx
Parameters:
transformMatrix:
Type: System.Windows.Media.Matrix
The Matrix object defining the transformation.
applyToStylusTip:
Type: System.Boolean
true to apply the transformation to the tip of the stylus; otherwise, false.
可以看到第一个参数是一个Matrix对象,它有很多方法去允许你实现想要的变换。
#Matrix.Scale Method
htt p:/ /msdn.micro soft.c om/en-us/library/system.windows.media.matrix.scale(v=vs.110).aspx
#Matrix.Translate Method
htt p: //msdn.m icrosoft.c om/en-us/library/system.windows.media.matrix.translate(v=vs.110).aspx
例如,想要比例缩放为之前的一半,并且X轴和Y轴分别移动50,我们可以这样:
private void Button_Click(object sender, RoutedEventArgs e)
{
foreach( Stroke s in inkSig.Strokes )
{
Matrix myMatrix = new Matrix();
myMatrix.Scale(0.5, 0.5);
myMatrix.Translate(50, 50);
s.Transform(myMatrix,false);
}
}
效果截图:
热心网友 时间:2023-12-19 03:25
WPF 中Canvas图形移动、缩放代码
参考一下这篇文章。