最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)截圖幫助類(lèi)

 更新時(shí)間:2022年07月05日 11:28:31   作者:edielei  
這篇文章介紹了C#實(shí)現(xiàn)截圖幫助類(lèi)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

幫助類(lèi)實(shí)現(xiàn):

注意修改命名空間

using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    class ScreenCapture
    {
        private Bitmap _screenshot = null;
 
        /// <summary>
        /// 截取全屏
        /// </summary>
        /// <returns>返回值</returns>
        public Bitmap CaptureScreen()
        {
            return Capture(Rectangle.Empty, false);
        }
 
        /// <summary>
        /// 截取全屏并保存
        /// </summary>
        /// <param name="fileName">文件路徑</param>
        /// <returns></returns>
        public Bitmap CaptureScreen(string fileName)
        {
            Bitmap screenshot = Capture(Rectangle.Empty, false);
            saveImage(fileName, screenshot);
            return screenshot;
        }
 
        /// <summary>
        /// 截屏到剪切板
        /// </summary>
        public void CopyToClipboard()
        {
            if (this._screenshot != null)
                Clipboard.SetImage(this._screenshot);
            else if (this._screenshot == null)
                MessageBox.Show("No screenshot found. Please take a screenshot first.", "Copy to Clipboard");
        }
 
        /// <summary>
        /// 區(qū)域截屏
        /// </summary>
        /// <param name="rect">區(qū)域范圍</param>
        /// <returns>返回值</returns>
        public Bitmap CaptureRectangle(Rectangle rect)
        {
            return Capture(rect, true);
        }
 
        /// <summary>
        /// 區(qū)域截屏
        /// </summary>
        /// <param name="rect">區(qū)域范圍</param>
        /// <param name="fileName">文件路徑</param>
        /// <returns>返回值</returns>
        public Bitmap CaptureRectangle(Rectangle rect, string fileName)
        {
            Bitmap screenshot = Capture(rect, true);
            saveImage(fileName, screenshot);
            return screenshot;
        }
 
        private Bitmap Capture(Rectangle rect, bool isRect)
        {
            int screenWidth = Screen.PrimaryScreen.Bounds.Width;
            int screenHeight = Screen.PrimaryScreen.Bounds.Height;
 
            Bitmap screenshot = null;
 
            if(!isRect)
                screenshot = new Bitmap(screenWidth, screenHeight);
            else if(isRect)
                screenshot = new Bitmap(rect.Width, rect.Height);
 
            Graphics g = Graphics.FromImage(screenshot);
            if (!isRect)
            {
                g.CopyFromScreen(Point.Empty, Point.Empty, screenshot.Size);
            }
            else if (isRect)
            {
                g.CopyFromScreen(new Point(rect.X, rect.Y), Point.Empty, rect.Size);
            }
 
            this._screenshot = screenshot;
 
            return screenshot;
        }
 
        private void saveImage(string fileName, Bitmap screenshot)
        {
            string ext = System.IO.Path.GetExtension(fileName);;
            ext = ext.ToLower();
 
            if (ext == ".jpg" || ext == ".jpeg")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
            else if(ext == ".gif")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Gif);
            else if(ext == ".png")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Png);
            else if (ext == ".bmp")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Bmp);
            else if (ext == ".tiff")
                screenshot.Save(fileName, System.Drawing.Imaging.ImageFormat.Tiff);
        }
    }
}

到此這篇關(guān)于C#實(shí)現(xiàn)截圖幫助類(lèi)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c#3.0實(shí)現(xiàn)延遲賦值示例

    c#3.0實(shí)現(xiàn)延遲賦值示例

    這篇文章主要介紹了c#3.0實(shí)現(xiàn)延遲賦值示例,大家參考使用吧
    2014-01-01
  • C#中Params的用法

    C#中Params的用法

    這篇文章主要介紹了C#中Params的用法,以實(shí)例的形式展示了采用Params在不知道參數(shù)的數(shù)量時(shí)的應(yīng)用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-11-11
  • C#中async/await之線程上下文工作原理

    C#中async/await之線程上下文工作原理

    這篇文章主要為大家介紹了C#中async/await之線程上下文工作原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2023-05-05
  • 詳解WPF雙滑塊控件的使用和強(qiáng)制捕獲鼠標(biāo)事件焦點(diǎn)

    詳解WPF雙滑塊控件的使用和強(qiáng)制捕獲鼠標(biāo)事件焦點(diǎn)

    這篇文章主要為大家詳細(xì)介紹了WPF中雙滑塊控件的使用和強(qiáng)制捕獲鼠標(biāo)事件焦點(diǎn)的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的可以嘗試一下
    2022-07-07
  • C#使用StreamReader讀取文件的方法

    C#使用StreamReader讀取文件的方法

    這篇文章主要介紹了C#使用StreamReader讀取文件的方法,涉及C#文件操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • c#中禁用windows的任務(wù)管理器的方法

    c#中禁用windows的任務(wù)管理器的方法

    這篇文章主要介紹了c#中禁用windows的任務(wù)管理器的方法,通過(guò)注冊(cè)表實(shí)現(xiàn)禁用,需要的朋友可以參考下
    2014-06-06
  • C語(yǔ)言使用getch()讀取方向鍵

    C語(yǔ)言使用getch()讀取方向鍵

    getch()是編程中所用的函數(shù),這個(gè)函數(shù)是一個(gè)不回顯函數(shù),當(dāng)用戶(hù)按下某個(gè)字符時(shí),函數(shù)自動(dòng)讀取,無(wú)需按回車(chē),有的C語(yǔ)言命令行程序會(huì)用到此函數(shù)做游戲,但是這個(gè)函數(shù)并非標(biāo)準(zhǔn)函數(shù),要注意移植性
    2021-07-07
  • C#繪制飛行棋地圖小程序

    C#繪制飛行棋地圖小程序

    這篇文章主要介紹了C#繪制飛行棋地圖小程序的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,對(duì)c飛行棋地圖相關(guān)知識(shí)感興趣的朋友一起看看吧
    2016-09-09
  • 使用淘寶ip地址庫(kù)查ip的示例

    使用淘寶ip地址庫(kù)查ip的示例

    這篇文章主要介紹了使用淘寶ip地址庫(kù)查ip的示例,需要的朋友可以參考下
    2014-03-03
  • C#實(shí)現(xiàn)圖片分割方法與代碼

    C#實(shí)現(xiàn)圖片分割方法與代碼

    C#實(shí)現(xiàn)圖片分割方法與代碼...
    2007-03-03

最新評(píng)論

曲水县| 邵东县| 宁明县| 且末县| 托克逊县| 阿克陶县| 阿合奇县| 盱眙县| 当阳市| 阿拉善右旗| 湟中县| 莱西市| 大英县| 唐山市| 龙南县| 竹山县| 洛隆县| 南漳县| 鄂尔多斯市| 丰镇市| 同仁县| 长葛市| 广宗县| 凭祥市| 吴江市| 玉环县| 扎赉特旗| 巩留县| 刚察县| 当阳市| 武乡县| 蒲江县| 平泉县| 松滋市| 格尔木市| 安顺市| 西峡县| 轮台县| 滨海县| 上林县| 金门县|