通過爲InkStroke.DrawingAttributes
設置新的InkDrawingAttributes
,可以重新繪製Ink Canvas中存在的墨跡。
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;
}
}
當一個或多個墨水筆劃被處理(溼到幹)由所述應用程序線程,然後複製存在InkStrokes到墨水畫布的新點的InkPresenter.StrokesCollected
的事件發生。 您可以使用以下代碼實時在同一個Ink Canvas上的另一個位置上繪製完全相同的筆觸。
public MainPage()
{
this.InitializeComponent();
MyInk.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Touch;
MyInk.InkPresenter.StrokesCollected += InkPresenter_StrokesCollected;
}
private void InkPresenter_StrokesCollected(InkPresenter sender, InkStrokesCollectedEventArgs args)
{
foreach (var temp in args.Strokes)
{
temp.Selected = true;
sender.StrokeContainer.CopySelectedToClipboard();
sender.StrokeContainer.PasteFromClipboard(new Point(100, 100));
}
}