C# 防止清除Win2D动画画布

C# 防止清除Win2D动画画布,c#,win2d,C#,Win2d,我想保留CanvasAnimatedControl中最后绘制的帧,以便在其上绘制。 是否有内置功能来实现这一点,或者我必须使用双缓冲 我想用win2d实现。如上所述: 创建绘图任务时,Win2D始终自动清除控件。不是。这样,应用程序就能够对画布渲染目标进行增量更改,并避免每次重新绘制整个场景 请注意,存在对的方法调用。否则,位图将使用未定义的内容初始化 要将画布渲染目标绘制到另一个绘制任务,只需使用或其重载之一。例如: CanvasDevice device = CanvasDevice.Ge

我想保留
CanvasAnimatedControl
中最后绘制的帧,以便在其上绘制。
是否有内置功能来实现这一点,或者我必须使用双缓冲

我想用win2d实现。

如上所述:

创建绘图任务时,Win2D始终自动清除控件。不是。这样,应用程序就能够对画布渲染目标进行增量更改,并避免每次重新绘制整个场景

请注意,存在对的方法调用。否则,位图将使用未定义的内容初始化

要将画布渲染目标绘制到另一个绘制任务,只需使用或其重载之一。例如:

CanvasDevice device = CanvasDevice.GetSharedDevice();
CanvasRenderTarget offscreen = new CanvasRenderTarget(device, width, height, 96);
using (CanvasDrawingSession ds = offscreen.CreateDrawingSession())
{
    //ds.Clear(Colors.Black); // no clear and you are good to go.
    ds.DrawRectangle(100, 200, 5, 6, Colors.Red);
}
void canvasControl_Draw(CanvasControl sender, CanvasDrawEventArgs args)
{
    args.DrawingSession.DrawImage(offscreen, 23, 34);
}