.NET        ez       2012-06-20
.Net 可以輕鬆利用 WebBrowser 製作網頁截圖功能!
程式碼如下:
private void Main_Load(object sender, EventArgs e)
{
	WebBrowser wb = new WebBrowser();
	this.Controls.Add(wb);
	wb.Url = new Uri("http://www.google.com.tw/"); //要截取的網址
	while (wb.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents(); //偵測網頁是否載入完畢
	//如果寬度小於1024,就以1024為寬度,高度自動偵測
	wb.Width = 1024;
	Application.DoEvents();
	wb.Width = wb.Document.Body.ScrollRectangle.Width;
	if (wb.Width < 1024) wb.Width = 1024;
	Application.DoEvents();
	wb.Height = wb.Document.Body.ScrollRectangle.Height;
	Application.DoEvents();
	//截圖儲存為圖片
	using (Bitmap bmp = new Bitmap(wb.Width, wb.Height))
	{
		wb.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height));
		EncoderParameters myEncoderParameters = new EncoderParameters(1);
		myEncoderParameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, 100);
		bmp.Save("儲存檔案路徑", GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg), myEncoderParameters);
	}
}
/// <summary>
/// IMG編碼產生
/// </summary>
/// <param name="format"></param>
/// <returns></returns>
private ImageCodecInfo GetEncoder(ImageFormat format)
{
	ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
	foreach (ImageCodecInfo codec in codecs)
	{
		if (codec.FormatID == format.Guid) return codec;
	}
	return null;
}標籤:   .NET
本文章網址: 
https://www.ez2o.com/Blog/Post/csharp-WebBrowser-Screenshots
https://www.ez2o.com/Blog/Post/247
https://www.ez2o.com/Blog/Post/csharp-WebBrowser-Screenshots
https://www.ez2o.com/Blog/Post/247
