I wrote a function to rasterize stroke data from an InkCanvas, but for some reason renderBMP.RenderAsync(...)
hangs indefinitely. Any advice?
RenderTargetBitmap rasterizePage(int pageNumber) {
if (readStrokes(pageNumber) == null) return null;
InkCanvas virtualInkCanvas = new InkCanvas();
virtualInkCanvas.Width = MainGrid.ActualWidth / 2;
virtualInkCanvas.Height = MainGrid.ActualHeight;
foreach (InkStroke stroke in readStrokes(pageNumber))
{
virtualInkCanvas.InkPresenter.StrokeContainer.AddStroke(stroke.Clone());
}
RenderTargetBitmap renderBMP = new RenderTargetBitmap();
System.Diagnostics.Debug.WriteLine("Start Rendering page " + pageNumber.ToString());
var task = renderBMP.RenderAsync(virtualInkCanvas, (int)(MainGrid.ActualWidth / 2), (int)MainGrid.ActualHeight);
task.AsTask().Wait();
System.Diagnostics.Debug.WriteLine("Done Rendering page " + pageNumber.ToString());
return renderBMP;
}