我怎么能保存到硬盘内的图像浏览器控制,即使浏览器有ScrollBarsEnable为真
本文关键字:浏览器 控制 为真 ScrollBarsEnable 图像 保存 怎么能 硬盘 | 更新日期: 2023-09-27 17:50:28
这是我现在使用的代码:
int imagescount = 0;
private void SaveImageFromWebBrowser()
{
Bitmap bitmap = new Bitmap(webBrowser1.Width, webBrowser1.Height);
webBrowser1.DrawToBitmap(bitmap, new Rectangle(0, 0, webBrowser1.Width, webBrowser1.Height));
bitmap.Save(@"e:'webbrowserimages'wbImage" + imagescount.ToString("D6") + ".bmp",
System.Drawing.Imaging.ImageFormat.Bmp);
bitmap.Dispose();
imagescount++;
}
问题是有些图像较大,然后有滚动条其他图像较小,所以浏览器不需要滚动条。但是带有滚动条的大图像在硬盘上的图像我看到整个带有滚动条的web浏览器控件!
我想在WebBbrowser控件中获得整个图像。只保存图片,不保存整个控件!
首先,您需要为您的项目添加一个引用,名为:Microsoft.mshtml
:
int imagescount = 0;
private void SaveImageFromWebBrowser()
{
IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.DomDocument;
IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)doc.body).createControlRange();
foreach (IHTMLImgElement img in doc.images)
{
imgRange.add((IHTMLControlElement)img);
imgRange.execCommand("Copy", false, null);
using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
{
bmp.Save(@"e:'webbrowserimages'Image" + imagescount.ToString("D6") + ".bmp",
System.Drawing.Imaging.ImageFormat.Bmp);
}
imagescount++;
}
}
工作完美。