wpf 控件截屏


 

 

 

 

        /// <summary>
        /// 保存截圖
        /// </summary>
        /// <param name="ui">控件名稱</param>
        /// <param name="filename">圖片文件名</param>
        public void SaveFrameworkElementToImage(FrameworkElement ui, string filename)
        {
            try
            {
                System.IO.FileStream ms = new System.IO.FileStream(filename, System.IO.FileMode.Create);
                System.Windows.Media.Imaging.RenderTargetBitmap bmp = new System.Windows.Media.Imaging.RenderTargetBitmap((int)ui.ActualWidth, (int)ui.ActualHeight, 96d, 96d, System.Windows.Media.PixelFormats.Pbgra32);
                bmp.Render(ui);
                System.Windows.Media.Imaging.JpegBitmapEncoder encoder = new System.Windows.Media.Imaging.JpegBitmapEncoder();
                encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(bmp));
                encoder.Save(ms);
                ms.Close();

                File.Copy(filename, "D:\\pictures\\" + filename, true);
            }
            catch (Exception ex)
            {
                //記錄異常
            }
        }

 

 

測試代碼:

            string pattern = "-|:";
            Regex regex = new Regex(pattern);
            string s = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff").Replace(" ", "");
            string path = regex.Replace(s, "")+".jpg";
            SaveFrameworkElementToImage(picShow, path);//picShow為控件名稱

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM