zoukankan      html  css  js  c++  java
  • 网页照相机代码及分析

    此代码出自CSDN
    http://download.csdn.net/source/1383175
    我对代码进行了一些简单的分析
    如下:

            public Form1()
            {
                InitializeComponent();
                //先定义控件的DocumentCompleted事件,网页加载完毕
                //System.Windows.Forms.WebBrowser
                this.webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
            }
            /// <summary>
            /// 委托事件,网页加载完就触发
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                GetImage();
            }
            void GetImage()
            {
                if (webBrowser1.Document == null) return;
                try
                {
                    //得到网页的高度
                    int scrollHeight = webBrowser1.Document.Body.ScrollRectangle.Height;
                    //得到网页的宽度
                    int scrollWidth = webBrowser1.Document.Body.ScrollRectangle.Width;
                    //重新设置控件的大小
                    webBrowser1.Size = new Size(scrollWidth, scrollHeight);
                    //创造一个空图片
                    Bitmap bm = new Bitmap(scrollWidth, scrollHeight);
                    //把控件画到这个图片中去
                    webBrowser1.DrawToBitmap(bm, new Rectangle(0, 0, bm.Width, bm.Height));
                    //制造一个文件名
                    string saveAsName;
                    saveAsName = Regex.Replace(txtURL.Text, @"(\\|\/|\:|\*|\?|\""|\<|\>|\|)?", "");
                    //按这个文件名保存图片
                    bm.Save(saveAsName + ".png", System.Drawing.Imaging.ImageFormat.Png);
                    //释放这个图片
                    bm.Dispose();
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message, "保存失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                }
                btnOK.Enabled = true;
            }
            private void buttonCapture_Click(object sender, EventArgs e)
            {
                //开始加载一个网页,加载完了就执行委托事件
                webBrowser1.Navigate(txtURL.Text);
                btnOK.Enabled = false;
            }

    如需下载请去文上所提到的连接中下载

  • 相关阅读:
    使用parted对大于2T的磁盘进行分区
    iso系统镜像刻录到光盘和U盘
    戴尔R710服务器安装系统——配置raid
    UltraISO 9.7.1.3519注册码
    H3C交换机配置vlan
    kvm创建新虚拟机
    Windows添加永久静态路由
    gitlab部署步骤+汉化
    php配置php_pdo_mysql模块
    为git服务器配置gitosis管理权限
  • 原文地址:https://www.cnblogs.com/liulun/p/1536187.html
Copyright © 2011-2022 走看看