C# 捕获网络浏览器图像
此代码在使用saveFileDialog保存后返回白色图像C# 捕获网络浏览器图像,c#,winforms,visual-studio-2010,C#,Winforms,Visual Studio 2010,此代码在使用saveFileDialog保存后返回白色图像 private void salvaUnImmagineToolStripMenuItem_Click(object sender, EventArgs e) { if (saveFileDialog1.ShowDialog() == DialogResult.OK) {
private void salvaUnImmagineToolStripMenuItem_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
SaveAsBitmap(webBrowser1, saveFileDialog1.FileName);
}
}
public void SaveAsBitmap(Control control, string fileName)
{
//getthe instance of the graphics from the control
Graphics g = control.CreateGraphics();
//new bitmap object to save the image
Bitmap bmp = new Bitmap(control.Width, control.Height);
//Drawing control to the bitmap
control.DrawToBitmap(bmp, new Rectangle(0, 0, control.Width, control.Height));
bmp.Save(fileName);
bmp.Dispose();
}
如何捕获web浏览器的图像?
这是解析HTML的非常好的库:
HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("Yor Path(local,web)");
var result=doc.DocumentNode.Descendants("img");//return HtmlCollectionNode
试试这个
public partial class Form1 : Form
{
WebBrowser wb = new WebBrowser();
public Form1()
{
InitializeComponent();
wb.Height = 100;
wb.Width = 100;
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
}
void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
Bitmap bmp = new Bitmap(100, 100);
wb.DrawToBitmap(bmp, new Rectangle(wb.Location.X, wb.Location.Y, wb.Width, wb.Height));
this.pictureBox1.BackgroundImage = bmp;
}
}
希望有帮助 无法工作picturebox为空且pictureBox1.Image.Save(“webbrowserimage.bmp”,System.Drawing.Imaging.ImageFormat.bmp”);返回错误