Я хочу отобразить элемент управления XAML в PNG-файле с помощью функции RenderTargetBitmap. До сих пор это здорово.RenderTargetBitmap не отображает включенные изображения
Но если XAML содержит любые изображения, эти изображения не отображаются в PNG-файле. Это моя XAML:
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="LayoutRoot"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="336"
d:DesignWidth="336"
Background="DarkGray">
<TextBlock Text="This is my Text"
FontSize="35"
HorizontalAlignment="Center" />
<Image Source="http://www.myurl.com/image.png"
Height="200" /></Grid>
И это мой код:
private BitmapSource RenderToBitmap(FrameworkElement target)
{
Rect bounds = VisualTreeHelper.GetDescendantBounds(target);
RenderTargetBitmap renderBitmap = new RenderTargetBitmap((int)target.ActualWidth,
(int)target.ActualHeight,
96, 96, PixelFormats.Pbgra32);
DrawingVisual visual = new DrawingVisual();
using (DrawingContext context = visual.RenderOpen())
{
VisualBrush brush = new VisualBrush(target);
context.DrawRectangle(brush, null, new Rect(new Point(), bounds.Size));
}
renderBitmap.Render(visual);
return renderBitmap;
}
также попытался с ссылочных изображениями, как "/Assets/image.png" и как ресурс. Каждый раз, когда изображение отсутствует в визуализированном файле PNG.
есть вы проверить ваш URL-адрес изображения? 'http: // www.myurl.com/image.png' пуст для меня. –
Это просто фиктивный URL для этих вопросов. Он также не работает с правильным URL-адресом изображения. –
попробуйте вызвать 'target.ApplyTemplate()' в начале – thumbmunkeys