C#截屏

本实例代码实现了WinForm截屏保存为图片,亲测可行。

界面截图:

下载:http://hovertree.com/h/bjaf/scjyuanma.htm

以下代码可以实际运行,在项目HoverTreeCSJ中运行成功。

/* 何问起 http://hovertree.com/hovertreescj/ */
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;

namespace HoverTreeSCJ.SCJForms.ToolForms
{
    public partial class Form_GetScreen : Form
    {
        public Form_GetScreen()
        {
            InitializeComponent();
        }

        private void button_getScreen_Click(object sender, EventArgs e)
        {
            FormWindowState h_currentState = MdiParent.WindowState;
            if (checkBox_isHide.Checked)
            {
                //MdiParent.Hide();
                //http://hovertree.com/h/bjaf/de7qg5wd.htm
                this.MdiParent.WindowState = FormWindowState.Minimized;
            }

            //创建图象,保存将来截取的图象
            Bitmap image = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
            Graphics imgGraphics = Graphics.FromImage(image);
            //设置截屏区域 柯乐义
            imgGraphics.CopyFromScreen(0, 0, 0, 0, new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
            //保存
            SaveImage(image);

            if (checkBox_isHide.Checked)
            {
                this.MdiParent.WindowState = h_currentState;
               // this.MdiParent.Show();
            }
        }

        //保存图象文件
        private void SaveImage(Image image)
        {
            //http://hovertree.com/h/bjaf/ruwwcg2p.htm
            saveFileDialog_getScreen.FileName = "何问起截图" + DateTime.Now.ToFileTime();
            if (saveFileDialog_getScreen.ShowDialog(this) == DialogResult.OK)
            {

                string fileName = saveFileDialog_getScreen.FileName;
                string extension = Path.GetExtension(fileName);
                if (extension == ".jpg")
                {
                    image.Save(fileName, ImageFormat.Jpeg);
                }
                else
                {
                    image.Save(fileName, ImageFormat.Bmp);
                }
            }
        }
    }
}

转自:http://hovertree.com/h/bjaf/76q5yeli.htm

推荐:http://www.cnblogs.com/roucheng/p/DataGridView.html

http://hovertree.top

时间: 2024-08-11 01:36:34

C#截屏的相关文章

Android 7.1.1 系统截屏

frameworks/base/packages/SystemUI/src/com/android/systemui/screenshot/TakeScreenshotService.java TakeScreenshotService.java package com.android.systemui.screenshot; import android.app.Service; import android.content.Intent; import android.os.Handler;

超好用的滚动屏幕截屏工具FastStone Capture

对于超级喜欢整理的技术控,一看到比较好技术文章就想收集下来,单纯的记录网页,又怕作者删除,我只能选择截图,可是有许多文章特别长,直到使用FastStone Capture截图工具,终于可以快速收集这些技术文章了. 1.截图工具是这样的 2.比较好用的滚动截屏使用方法: 图中第六个图标. 1)点击后,可以拖动窗口进行大范围的截图,比如可以将浏览器的网页做为截图对象,截取时,点击选取滚动条箭头就可以完成截图,ESC中断截图滚动! 2)在选定滚动截图图标后还可以按ctrl键进行滚动区域的选择. 3.图

Android自己定义截屏功能,相似QQ截屏

由于公司业务需求 须要对一个屏幕进行截屏.但自带的截屏功能是远远不够项目的功能需求 ,我们是做一个画板软件 .须要的像QQ那样截屏之后 ,能够看到我们自己定义的工具.有画笔,button等等 .android自带的功能非常easy,仅仅须要Intent隐式调用就全然足够了.但他是系统的应用 ,界面固定.无法定制改动.实现方法跟办法有非常多种,以下记录下我实现的方法 .我是这样一个思路 ,重写一个View组件 ,在OnDraw里面仅仅负责不绘图形(包含半透明的四个矩形,亮框矩形,亮框上的四个小圆点

Snipaste强大离线/在线截屏软件的下载、安装和使用

步骤一: https://zh.snipaste.com/  ,去此官网下载. 步骤二:由于此是个绿色软件,直接解压即可. 步骤三:使用,见官网.ttps://zh.snipaste.com  按F1开始截屏 感谢下面哥的精彩微信文章 http://mp.weixin.qq.com/s?__biz=MzIwNzYwODYwMw==&mid=2247483903&idx=1&sn=02121fe920320bbe7b2fae012a18e70a&chksm=970e8f8ba

iOS截屏保存至相册

#pragma mark 截屏并保存至相册 -(void)screenShotsComplete:(void(^)(UIImage * img)) complete { CGSize imageSize = [[UIScreen mainScreen] bounds].size; UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0); CGContextRef context = UIGraphicsGetCurrentContext(

phantomjs介绍-(js网页截屏、javascript网页解析渲染工具)

phantomjs介绍-(js网页截屏.javascript网页解析渲染工具) phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,这样访问网页就省去了浏览器的界面绘制所消耗的系统资源,比较适合用于网络测试等应用 .利用这个工具,我们可以轻松的搭建一个接口用于获取我们想要的url的整页截屏. PhantomJS is a headless WebKit with JavaScript API. It has fast and native support

Java邮件发送与屏幕截屏

前几天七夕情人节孤独寂寞的程序猿闲来没事,花了一两个小时写了个小Demo主要实现Java的Mail发送功能和桌面截屏功能. 首先让我们先看看Java sendMail邮件发送和桌面屏幕截屏功能是怎么实现的基础知识. 一.Java  SendMail邮件发送 首先让我们来看看邮件发送的原理图: JavaMail 是一套sun 提供开发邮件收发程序API,JavaMail编写程序就是邮件客户端程序(和outlook.foxmail功能类似) * JavaMail开发需要类库 javamail API

Cocos2d-x 3.2 Lua示例 CaptureScreen(截屏)

Cocos2d-x 3.2 Lua示例 CaptureScreen(截屏) 转载请注明:IT_xiao小巫 Cocos2d-x截屏功能是从3.2开始提供的,本篇博客就是介绍Cocos2d-x 3.2中Lua示例中的截屏功能.效果如下所示: 例子代码如下: --[[ 截屏测试 CaptureScreenTest ]]-- -- 获取屏幕大小 local winSize = cc.Director:getInstance():getWinSize() local kTagSprite = 1 loc

Qt实现截屏并保存(转载)

原博地址:http://blog.csdn.net/qinchunwuhui/article/details/52869451?_t_t_t=0.28889142944202306 目前对应用实现截屏的方法还是比较多的,首先我们要了解Qt中的窗口的是如何设计的,不管是MFC下的窗口,还是其他窗口,仿佛都相似,曾经狂学MFC,结果毕业一次没用过已经还给老师,悲催,好了下面我们来介绍一下Qt的窗口设计吧!鸡冻吧-. 1.首先我们来看看我从手册上盗取的图片  我们了解了Qt的窗口框架,让我们来看看她(

VR中特定相机截屏问题与实现

本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/71136498 作者:cartzhang unity 中的截图与VR中的截图,难度还不一样么?还真有点不一样. 这里就是用HTC Vive头盔下来做为例子. 非常感谢同事让我来帮他解决问题. 一.Unity中的常用截图方式 unity中常用截图的方式有三种: 1. 使用CaptureScreenshot 这个可以参考官方给的例