【问题标题】:C# WebBrowser Copy Image to Clipboard-full codesC# WebBrowser 将图像复制到剪贴板完整代码
【发布时间】:2017-06-07 14:22:26
【问题描述】:

我是 C# 的新人,我想使用 WebBrowser 控件复制图像并保存到本地磁盘,在我在 stackoverflow 中搜索后,我需要使用此代码,但我是新人,谁能提供一个完整的 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);
}

【问题讨论】:

  • 您正在遵循的 windowsforms 解决方案完美运行,我没有在基于控制台的应用程序中使用 WebBrowser Control,您可以按照本教程进行操作。 withoutbugs.com/2010/04/webbrowser-control-in-console-app.html
  • 感谢您的帮助,您能帮我提供您完美运行的 Windows 窗体版本的完整 C# 代码吗?谢谢!

标签: c# webbrowser-control


【解决方案1】:

这是工作示例的完整代码

    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;

【讨论】:

  • 您好,非常感谢,但似乎报错了,请看这个截图:i.imgsafe.org/5e5afaba1d.jpg
  • 我试图将代码粘贴到Form1.cs(是这样吗?),它运行没有任何事情发生,没有图片保存到我的c驱动程序,截图:i.imgsafe.org/5ead11b160.jpg
  • 首先将webbrowser控件拖放到您的表单上,然后删除webbrowser的声明。
  • 按照您的步骤,按下按钮 1,没有发生任何事情 :( 添加了 webbrowser 控件,删除了声明,i.imgsafe.org/5ee17649d4.png
  • 1) 创建一个新项目,选择 windows 窗体应用程序 2) 在窗体上拖放 Web 浏览器控件和一个按钮 3) 双击按钮控件并粘贴按钮的代码 4) 会有是加载事件,写webbrowser1.navigate代码语句。
猜你喜欢
  • 2011-04-19
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 2013-07-14
  • 1970-01-01
相关资源
最近更新 更多