C# 儲存表單為圖片(儲存縱斷面圖)

來源:互聯網
上載者:User

標籤:   縱斷面   c#   

源碼如下:

     #region 儲存縱斷面        private void button_save_Click(object sender , EventArgs e)        {            SaveFileDialog saveImageDialog = new SaveFileDialog();            saveImageDialog.Title = "儲存縱斷面圖";            saveImageDialog.DefaultExt = ".png";            saveImageDialog.FileName = Linefeaturelayer.Name + "縱斷面圖";            saveImageDialog.InitialDirectory = "C:\\";            DialogResult dr = saveImageDialog.ShowDialog();            if (dr==DialogResult.OK)            {                CaptureImage(saveImageDialog.FileName);                MessageBox.Show("儲存成功!");            }        }        private void CaptureImage(string path)        {            try            {                //獲得當前螢幕的大小                Rectangle rect = new Rectangle();                rect = Screen.GetWorkingArea(this);                //建立一個以當前螢幕為模板的圖象                Graphics g1 = this.CreateGraphics();                //建立以螢幕大小為標準的位元影像                 Image MyImage = new Bitmap(rect.Width , rect.Height , g1);                Graphics g2 = Graphics.FromImage(MyImage);                //得到螢幕的DC                IntPtr dc1 = g1.GetHdc();                //得到Bitmap的DC                 IntPtr dc2 = g2.GetHdc();                //調用此API函數,實現螢幕捕獲                BitBlt(dc2 , 0 , 0 , rect.Width , rect.Height , dc1 , 0 , 0 , 13369376);                //釋放掉螢幕的DC                g1.ReleaseHdc(dc1);                //釋放掉Bitmap的DC                 g2.ReleaseHdc(dc2);                //以JPG檔案格式來儲存                MyImage.Save(path , ImageFormat.Png);            }            catch (System.Exception ex)            {                MessageBox.Show(ex.Message + " 儲存圖片失敗!");             }        }        //聲明一個API函數        [System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]             private static extern bool BitBlt(                        IntPtr hdcDest , // 目標 DC的控制代碼            int nXDest ,            int nYDest ,            int nWidth ,            int nHeight ,            IntPtr hdcSrc ,  // 源DC的控制代碼            int nXSrc ,            int nYSrc ,            System.Int32 dwRop  // 光柵的處理數值                        );        #endregion



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.