RenderTargetBitmap 没有把它放在 UI
RenderTargetBitmap without putting it on UI
我想在 Visual Studio 2013 年创建一个通用应用程序,它从使用代码动态生成的 Canvas
创建图像。如果我在 UI 上显示 canvas(例如,在 Grid
中)就没问题。如果我不显示 canvas,应用程序会崩溃并显示以下消息:
value does not fall within the expected range.
这是我使用的代码:
Canvas cn = new Canvas();
cn.Height = 100;
cn.Width = 100;
cn.Visibility = Visibility.Visible;
Button but = new Button();
Rectangle rect = new Rectangle();
rect.Width = 100;
rect.Height = 100;
rect.Margin = new Thickness(0);
SolidColorBrush bruch = new SolidColorBrush();
bruch.Color = Colors.Blue;
rect.Fill = bruch;
but.Width = 50;
but.Height = 50;
but.Content = "23";
but.Visibility = Visibility.Visible;
cn.Children.Add(rect);
cn.Children.Add(but);
but.Margin = new Thickness(25, 25, 0, 0);
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(cn, 100, 100);
outputImage.Source = renderTargetBitmap;
我不想在 UI 上显示 canvas,因为我打算使用来自 BackgroundTask
.
的代码
这是我的 sample project
Windows Phone 应用程序可以使用 XamlRenderingBackgroundTask 在后台任务中呈现。建议后台任务使用 C++ 以保持低资源使用率。
请参阅 Updating a tile from a background task 示例。
Windows 商店应用不支持 XamlRenderingBackgroundTask。在 Windows 上,无法从后台任务使用 RenderTargetBitmap,并且要求目标 UIElement 位于主视觉树中。
我想在 Visual Studio 2013 年创建一个通用应用程序,它从使用代码动态生成的 Canvas
创建图像。如果我在 UI 上显示 canvas(例如,在 Grid
中)就没问题。如果我不显示 canvas,应用程序会崩溃并显示以下消息:
value does not fall within the expected range.
这是我使用的代码:
Canvas cn = new Canvas();
cn.Height = 100;
cn.Width = 100;
cn.Visibility = Visibility.Visible;
Button but = new Button();
Rectangle rect = new Rectangle();
rect.Width = 100;
rect.Height = 100;
rect.Margin = new Thickness(0);
SolidColorBrush bruch = new SolidColorBrush();
bruch.Color = Colors.Blue;
rect.Fill = bruch;
but.Width = 50;
but.Height = 50;
but.Content = "23";
but.Visibility = Visibility.Visible;
cn.Children.Add(rect);
cn.Children.Add(but);
but.Margin = new Thickness(25, 25, 0, 0);
RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(cn, 100, 100);
outputImage.Source = renderTargetBitmap;
我不想在 UI 上显示 canvas,因为我打算使用来自 BackgroundTask
.
这是我的 sample project
Windows Phone 应用程序可以使用 XamlRenderingBackgroundTask 在后台任务中呈现。建议后台任务使用 C++ 以保持低资源使用率。
请参阅 Updating a tile from a background task 示例。
Windows 商店应用不支持 XamlRenderingBackgroundTask。在 Windows 上,无法从后台任务使用 RenderTargetBitmap,并且要求目标 UIElement 位于主视觉树中。