我的XAML中有一个CanvasControl。使用CanvasDrawingSession.DrawRectangle()绘制一个矩形。在该矩形内,我有一些文本。该文本已使用CanvasDrawingSession.DrawText()绘制。与其单独绘制,不如将其与文本合并为单个Image(CanvasBitmap / IcanvasImage),我想绘制该文本。使用CanvasDrawingSession.DrawImage()的图像。我知道要绘制图像,但是我不知道将其组合成单个图像。有什么办法吗?
您可以先创建一个CanvasRenderTarget,然后在其上绘制Rectangle和文本。之后,将其传递给DrawImage()方法以绘制图像。例如:
private void CanvasControl_Draw(Microsoft.Graphics.Canvas.UI.Xaml.CanvasControl sender, Microsoft.Graphics.Canvas.UI.Xaml.CanvasDrawEventArgs args)
{
CanvasDevice device = CanvasDevice.GetSharedDevice();
CanvasRenderTarget renderTarget = new CanvasRenderTarget(device, 300, 300, 96);
using (var ds = renderTarget.CreateDrawingSession())
{
ds.Clear(Colors.White);
ds.DrawRectangle(new Rect(50, 50, 200, 150), Colors.Red);
ds.DrawText("Hello, world!", 100, 100, Colors.Black);
}
args.DrawingSession.DrawImage(renderTarget);
}