C# WebBrowser Copy Image to Clipboard-完整代码
C# WebBrowser Copy Image to Clipboard-full codes
我是C#新手,我想用WebBrowser控件复制图片保存到本地磁盘,在Whosebug上google了一下是我需要用到的代码,但是我是新手,有没有人可以提供一个完整的 C# 代码 使其工作?(ConsoleApplication 类型),提前致谢。
我想在网络浏览器中复制(不是下载)这个图像文件
到
C:\google.png
来源在这里:
WebBrowser Copy Image to Clipboard
string image_name = "temp.bmp";
IHTMLDocument2 document = (IHTMLDocument2)webBrowser1.Document.DomDocument;
IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)document.body).createControlRange();
imgRange.add(document.all.item(HTML_IMAGE_ID));
imgRange.execCommand("Copy");
using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
{
bmp.Save(image_name);
}
这是工作示例的完整代码
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.google.com");
}
private void button2_Click(object sender, EventArgs e)
{
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(@"C:\" + img.nameProp);
}
}
}
您需要添加命名空间using mshtml;
我是C#新手,我想用WebBrowser控件复制图片保存到本地磁盘,在Whosebug上google了一下是我需要用到的代码,但是我是新手,有没有人可以提供一个完整的 C# 代码 使其工作?(ConsoleApplication 类型),提前致谢。
我想在网络浏览器中复制(不是下载)这个图像文件
到
C:\google.png
来源在这里: WebBrowser Copy Image to Clipboard
string image_name = "temp.bmp";
IHTMLDocument2 document = (IHTMLDocument2)webBrowser1.Document.DomDocument;
IHTMLControlRange imgRange = (IHTMLControlRange)((HTMLBody)document.body).createControlRange();
imgRange.add(document.all.item(HTML_IMAGE_ID));
imgRange.execCommand("Copy");
using (Bitmap bmp = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap))
{
bmp.Save(image_name);
}
这是工作示例的完整代码
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.google.com");
}
private void button2_Click(object sender, EventArgs e)
{
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(@"C:\" + img.nameProp);
}
}
}
您需要添加命名空间using mshtml;