xingbinggong

将网页保存成图片

2011-12-01 16:30  Carl Xing  阅读(479)  评论(0编辑  收藏  举报

新建一个win Form应用程序

using System;
using System.Drawing;
using System.Windows.Forms;

namespace Snowdream.Sample.WebpageSnapshot
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/// <summary>
/// 按钮按下事件处理函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SaveSnapshot_Click(object sender, EventArgs e)
{
WebBrowser webBrowser = new WebBrowser(); // 创建一个WebBrowser
webBrowser.ScrollBarsEnabled = false; // 隐藏滚动条
webBrowser.Navigate(address.Text); // 打开网页
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted); // 增加网页加载完成事件处理函数
}


/// <summary>
/// 网页加载完成事件处理函数
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser webBrowser = (WebBrowser)sender;

// 网页加载完毕才保存
if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
{
// 获取网页高度和宽度,也可以自己设置
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); // 保存图片
}
}
}
}



分类:

技术点:

相关文章:

  • 2021-05-10
  • 2021-12-28
  • 2021-12-28
  • 2021-12-18
  • 2021-12-18
猜你喜欢
  • 2021-12-24
  • 2021-11-29
  • 2021-12-24
  • 2021-10-23
  • 2021-08-13
  • 2021-12-09
相关资源
相似解决方案