WPF对webbrowser里的网页进行截图 35

代码如下:RenderTargetBitmapreder=newRenderTargetBitmap((int)webBrowser1.Width,(int)webBro... 代码如下:
RenderTargetBitmap reder = new RenderTargetBitmap((int)webBrowser1.Width, (int)webBrowser1.Height, 96, 96, PixelFormats.Default);
reder.Render(webBrowser1);
PngBitmapEncoder png = new PngBitmapEncoder();
png.Frames.Add(BitmapFrame.Create(reder));
FileStream fs = File.Open(@"F:\tesst.png", FileMode.OpenOrCreate);
png.Save(fs);
运行结果是PNG图片没有内容,保存为txt文件里面不为空。

求大牛可以指点一二……,把截图显示到image里面就可以。
我用这个方法试着截了一个image的图,然后是空的。
所以语句有错……
但是百度关键字“WPF 截图”里面是这样写的啊,所以希望有大神可以解答下……谢谢!
展开
 我来答
xtfnpgy
2014-05-07
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
RenderTargetBitmap MediaElement截图空白问题
分类: WPF2012-05-10 18:03 572人阅读 评论(0) 收藏 举报
wcfimage
[html] view plaincopy
<MediaElement Name="mediaE" Margin="0,10,0,0" Source="E:\WCF\1.wmv" Width="50" Height="50" Position="0:10:5" ScrubbingEnabled="True"/>
<Image Name="imgClip" Width="50" Height="50" />
当通过RenderTargetBitmap 截图时,有时候会出现空白的问题,导致该问题的原因在于,设置了Margin、HorizontalAlignment或者VerticalAlignment,导致MediaElement离开了他应在的位置,截的图是从原来位置截取的,(例如:当Margin的值按照上面的代码设置,会导致截图的时候上面10个单位的值为空白)所以解决该问题的关键在于不改变MediaElement该在的位置即可,
截图代码如下:

[csharp] view plaincopy
RenderTargetBitmap map = new RenderTargetBitmap(100, 100, 100, 100, PixelFormats.Pbgra32);
map.Render(mediaE);
imgClip.Source = BitmapFrame.Create(map);

参考:
http://blog.csdn.net/jaychouliyu/article/details/7554649

另外可以试试下面代码:
//C#中测试通过!转成WPF应当不难

int height = webBrowser.Document.Body.ScrollRectangle.Height;
int width = webBrowser.Document.Body.ScrollRectangle.Width;

// 调节webBrowser的高度和宽度
webBrowser.Height = height;
webBrowser.Width = width;

Bitmap bitmap = new Bitmap(width, height); // 创建高度和宽度与网页相同的图片
Rectangle rectangle = new Rectangle(0, 0, width, height); // 绘图区域
webBrowser.DrawToBitmap(bitmap, rectangle); // 截图

// 保存图片对话框
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "JPEG (*.jpg)|*.jpg|PNG (*.png)|*.png";
saveFileDialog.ShowDialog();

bitmap.Save(saveFileDialog.FileName); // 保存图片
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式