有没有办法拍摄渲染的html的快照,即从webBrowser控件获取并输出image object
?
是否可能by code
除了使用webbrowser
之外,bcoz我认为在源渲染为输出之前,它需要在屏幕上可见。
我有html字符串,其中包含一些图片文字和表格。高度近700px,在其他情况下可能更少或更多。
请指导我。
答案 0 :(得分:0)
使用RenderTargetBitmap
实例。这允许您渲染控件而不在屏幕上显示它。小心给它宽度和高度;)
来自MSDN的示例
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Globalization;
namespace SDKSample
{
public partial class RenderTargetBitmapExample : Page
{
public RenderTargetBitmapExample()
{
Image myImage = new Image();
FormattedText text = new FormattedText("ABC",
new CultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface(this.FontFamily, FontStyles.Normal, FontWeights.Normal, new FontStretch()),
this.FontSize,
this.Foreground);
DrawingVisual drawingVisual = new DrawingVisual();
DrawingContext drawingContext = drawingVisual.RenderOpen();
drawingContext.DrawText(text, new Point(2, 2));
drawingContext.Close();
RenderTargetBitmap bmp = new RenderTargetBitmap(180, 180, 120, 96, PixelFormats.Pbgra32);
bmp.Render(drawingVisual);
myImage.Source = bmp;
// Add Image to the UI
StackPanel myStackPanel = new StackPanel();
myStackPanel.Children.Add(myImage);
this.Content = myStackPanel;
}
}
}