C# 截图工具winform

做了好几天,对象比较多,弄的都是乱的,最后还是一个个试出来的。

Bitmap

Graphics

FromImage

Pen

Rectangle

DrawRectangle

真的混乱,看了好几天,才明白参数之间的关系。

下载     pan.baidu.com/s/1c2CMRhY

思路:form1 就是界面,全屏截图。form2 就区域截图

Form1代码

int i = 0;
        int w = Screen.PrimaryScreen.Bounds.Width;
        int h = Screen.PrimaryScreen.Bounds.Height;

        private void button1_Click(object sender, EventArgs e)
        {
            WindowState = FormWindowState.Minimized;
            Thread.Sleep(100);
            i += 1;
            Bitmap b = new Bitmap(w,h);
            Graphics g = Graphics.FromImage(b);
            g.CopyFromScreen(0,0,0,0,new Size(w,h));
            b.Save("C:/Users/Administrator/Desktop/截图小王子"+i+".jpg");
            WindowState = FormWindowState.Normal;
            Clipboard.SetImage(b);
            this.Cursor = Cursors.Default;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("C:/Users/Administrator/Desktop");
            TopMost = false;
            this.Cursor = Cursors.Default;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Hide();
            Form2 f2 = new Form2();
            f2.Show();
        }

Form2 代码

int i = 0;
        Bitmap bit;
        Bitmap bit2;
        Bitmap copy;
        int x;
        int y;
        int xx;
        int yy;
        Pen pen = new Pen(Color.Red,2);
        Rectangle rect = new Rectangle();
        Graphics g2;

        private void Form2_Load(object sender, EventArgs e)
        {
            i++;
            //Opacity = 0.5;
            WindowState = FormWindowState.Minimized;
            FormBorderStyle = FormBorderStyle.None;
            this.Cursor = Cursors.Cross;
            int w = Screen.PrimaryScreen.Bounds.Width;
            int h = Screen.PrimaryScreen.Bounds.Height;
            bit = new Bitmap(w, h);//获取桌面图
            Graphics g = Graphics.FromImage(bit);//把图画出来
            g.CopyFromScreen(0, 0, 0, 0, new Size(w, h));
            pictureBox1.Image = bit;
            bit.Save("C:/Users/Administrator/Desktop/区域截图" + i + ".jpg");
            WindowState = FormWindowState.Maximized;

        }

        private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            if(e.Button == MouseButtons.Right)
            {
                this.Hide();
                Form1 f1 = new Form1();
                f1.Show();
            }
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            x = Math.Abs(e.X);
            y = Math.Abs(e.Y);
        }

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if(e.Button == MouseButtons.Left)
            {
                xx = Math.Abs(e.X);
                yy = Math.Abs(e.Y);
                Graphics g = pictureBox1.CreateGraphics();
                rect = new Rectangle(x, y, xx - x, yy - y);
                Refresh();
                g.DrawRectangle(pen, rect);

            }
        }
        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
        {
            try
            {
                copy = (Bitmap)bit.Clone();
                bit2 = new Bitmap(rect.Width, rect.Height);
                g2 = Graphics.FromImage(bit2);
                g2.DrawImage(copy, new Rectangle(0, 0, rect.Width, rect.Height), rect, GraphicsUnit.Pixel);
                pictureBox1.Image = bit2;
                bit2.Save("C:/Users/Administrator/Desktop/区域截图" + i + ".jpg");
                Clipboard.SetImage(bit2);
            }
时间: 2024-10-28 10:38:59

C# 截图工具winform的相关文章

mint下截图工具shutter的安装和使用设置

[原创作品,技术交流.允许转载,转载时请务必以超链接形式标明文章原始出处 .作者信息.如有错误,请指正] /** author: lihaibo date: 1/25/2016 */ 今天安装了双系统之后,有时候需要截图不是很方便,查了下linux下比较流行的截图工具:shutter 1.安装shutter 从开源社区下载:  http://www.oschina.net/p/shutter/ 操作命令: sudo add-apt-repository ppa:shutter/ppa sudo

ubuntu安装Shutter截图工具以及设置系统快捷键

一.安装截图工具 Shutter 1. 添加安装包软件源 sudo add-apt-repository ppa:shutter/ppa 2. 更新源并安装 shutter sudo apt-get update sudo apt-get install shutter 3. 搜索 shutter 可看到已安装成功 二.设置 Shutter 快捷键 1. 打开系统设置 2. 打开 Keyboard 键盘设置 3. 添加成功的状态 4. 单击右侧 Disabled,然后快速按下 Ctrl+Alt+

截图工具无法使用解决方法

重装系统之后,截图工具就突然用不了,问了下度娘,现将方法整理一下. (1)首先在C盘上搜索:tpcps.dll文件,搜索到之后将数据最大的那个文件右键或者点击文件在窗口的工具栏上点击[注册dl] (2)如果文件上找不到tpcps.dll文件,则上网下载符合计算机位数的dll文件 (3)将tpcps.dll文件复制粘贴在c:\windows\system32的文件夹下,如果是64位的系统,则放置在C:\Windows\SysWOW64文件夹下,然后再点击该文件,在工具栏上点击[注册dll] 注释:

使用截图工具FastStone Capture

-谨以此教程献给某位上进的测试人员- FastStone Capture是本人用过的windows平台上最好用的截图工具,界面简洁,功能强大,还支持屏幕录像功能,要说唯一缺少的功能,那就只有不能将录像转换成gif图片了. 1. 打开FastStone Capture的样子,以及标注了各个组件的功能 2. 进行复杂的打开图片的操作,并开始绘制图片的流程 3. 以下是介绍绘制图形界面处的各个组件的功能 4. 以下是一个完整的加载图片并绘制图片的教程 具体的使用,需要自己稍微摸索一下就可以了,使用起来

开源的截图工具

windows下好用的截图工具,真心不多. qq,360好用些,qq做的最好,没有其他. QQ2008和2012截屏の实现(C++源码) C#截图源码及示例(仿QQ截图) 自己编写的一个截图工具

轻量却超强——推荐几款好用的截图工具

阅读导览(点击快速跳转): 1.FScapture 2.Snipaste 3.Picpick 相关文件下载及链接 1.FScapture(返回目录) FScapture全名为 FastStone Capture,它还有一款兄弟软件叫做 FastStoneImageViewer 是一个图片浏览器,有兴趣的可以下载体验. 博主自用,文章里面的图就是用它截的,其自带的图像查看/编辑器,功能强大,可以满足截图后,对图像的各种标注.裁切调节等需求,其功能不亚于 Windows 的画图板,做教程很是方便!

网页版截图工具上线啦

最近由于公司的一些事情再加上忙着开发完善这个网页版截图工具,所以有差不多一个星期没有和大家分享一下代码学习上的心得,就在今天也就是愚人节,终于上线了.这款网页截图工具被定义为beta版本,目前工具还存在着几个bug没有时间解决, 这些Bug会在下个版本v2.0得到解决,同时如果是有什么好的功能或者是建议的话,也希望大家在下面进行留言(大家快来做做测试工程师) 一.为什么会有这款工具? 其实这款工具在目前市面是还是比较少见的,但是为什么我会制作这款工具呢,一个原因是公司应该说是半个月前,老板想要对

win7系统自带截图工具快捷键是什么?怎么设置快捷键

win7自带的截图工具很好,很强大,比从网上下载的截图工具好用多了,很少会出现问题.但是它能不能像QQ截图工具一样可以使用快捷键呢?今天小编和大家分享下心得,希望能够给你的工作带来快捷. 工具/原料 win7自带截图工具 方法/步骤 点击左下角的"开始"图标,点击"所有程序" 如何给win7自带的截图工具设置快捷键? 出现系统安装的所有程序的名字,找到"附件"--"截图工具" 如何给win7自带的截图工具设置快捷键? 右键单击

ubuntu 安装截图工具 Shutter,并设置快捷键 Ctrl+Alt+A

一.安装截图工具 Shutter 1. 添加安装包软件源 sudo add-apt-repository ppa:shutter/ppa 2. 更新源并安装 shutter sudo apt-get update sudo apt-get install shutter 3. 搜索 shutter 可看到已安装成功 二.设置 Shutter 快捷键 1. 打开系统设置 2. 打开 Keyboard 键盘设置 3. 添加成功的状态 4. 单击右侧 Disabled,然后快速按下 Ctrl+Alt+