zoukankan      html  css  js  c++  java
  • 利用Webbrowser把网页保存为图片

    把网页另存为图片,记得最早知道这个功能是用“世界之窗”浏览器的时候发现的,好像很久前的事情了。一直不知其原理。

    今日上班没事,突然想到了这个问题,于是乎在vs里敲下“Webbrowser1.” 然后就逐个逐个的看有什么好玩的方法。过了好一会儿轻击后,发现了一个比较吸引的字“DrawToBitmap”,有点意思后就试一试。

    发现就是一个把控件画成图片的方法。突然意识到这个可以用来实现网页保存为图片的功能实现。于是便研究了一下,得出了结论,另存为图片可以这么简单的。

     

    Step1:

           首先,在窗体上放一个Textbox、Button、Webbrowser 控件各一个。

    this.button1 = new System.Windows.Forms.Button();
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.webBrowser1 = new System.Windows.Forms.WebBrowser();
    Step2:

           添加Button事件

    void Button1Click(object sender, EventArgs e)
    {
    webBrowser1.Navigate(textBox1.Text);
    }
    Step3:

            当Webbrowser控件加载完网页后,执行该方法开始绘我们的图了。

    void WebBrowser1DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    Size mySize
    = webBrowser1.Document.Window.Size ;
    Bitmap myPic
    =new Bitmap (mySize.Width ,mySize.Height );
    Rectangle myRec
    =new Rectangle (0,0,mySize.Width,mySize.Height );
    webBrowser1.Size
    =mySize;
    webBrowser1.DrawToBitmap(myPic,myRec);
    myPic.Save (
    "c:\\aaaaaa.jpg");
    MessageBox.Show (
    "Ok");

    }
    这个就解释一下:

    1:第一行代码:获取打开的网页的大小。

    2:新建一张图片,大小为网页内容的大小。

    3:新建一个矩形;

    4:设置Webbrowser的大小,为刚好显示整个页面。

    5:使用DrawToBitmap功能绘制Webbrowser控件为图片。

    6:图片保存。

    7:提示你ok了。

    --------------------

    就是这么简单,一个网页另存为图片的功能就ok了。当然为了比较美观,建议把Webbrowser控件设置为隐藏。

  • 相关阅读:
    哈希值
    webpack配置(二)
    点击input选中文本
    height:calc(100%
    -webkit-overflow-scrolling
    字符串转数组
    gulp报错160
    webpack配置(一)
    移动端ios中click点击失效
    Spring定时器Quartz的用法
  • 原文地址:https://www.cnblogs.com/top5/p/1718958.html
Copyright © 2011-2022 走看看