先在代码首页定义一个位图(CanvasBitmap)类型
CanvasBitmap m_Bitmap;
我们需要在创建资源(CreateResources)事件里,先行实例化位图(因为画布控件的创建资源事件要早于绘制事件)
private async Task CreateResourceAsync(CanvasControl sender)
{//异步加载图片
m_Bitmap = await CanvasBitmap.LoadAsync(sender, "Assets/01.png");
}
private void canvasControl_CreateResources(Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl sender, Microsoft.Graphics.Canvas.UI.CanvasCreateResourcesEventArgs args)
{
Task task = CreateResourceAsync(sender);
IAsyncAction action = task.AsAsyncAction();
args.TrackAsyncAction(action);
}
绘制资源
private void canvasControl_Draw(Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl sender, Microsoft.Graphics.Canvas.UI.Xaml.CanvasDrawEventArgs args)
{
CanvasDrawingSession ds = args.DrawingSession;
ds.DrawImage(m_Bitmap);
}