屏幕录制gif软件_手机录屏咋录内部声音

屏幕录制gif软件_手机录屏咋录内部声音效果图如下:铜鼓录制屏幕的区域可以预览生成的GIF图片图片比较清晰源码中可以修改gif质量源码中可以修改gif帧数通过鼠标选择需要的区域FrmRectfrmRect=newFrmRect();frmRect.ShowDialog();m_rect=frmRect.Rect;label4.Text=”区域设定完成”;protec..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

效果图如下:

屏幕录制gif软件_手机录屏咋录内部声音

工程源码见文章结尾

通过录制屏幕的区域 可以预览生成的GIF图片 图片比较清晰 源码中可以修改gif质量 源码中可以修改gif帧数 通过鼠标选择需要的区域

屏幕录制gif软件_手机录屏咋录内部声音

 屏幕录制gif软件_手机录屏咋录内部声音

屏幕录制gif软件_手机录屏咋录内部声音


            FrmRect frmRect = new FrmRect();
            frmRect.ShowDialog();
            m_rect = frmRect.Rect;
            label4.Text = "区域设定完成";
   protected override void OnLoad(EventArgs e) {
            Rectangle rect = Win32.GetDesktopRect();
            this.Location = rect.Location;
            this.Size = rect.Size;

            m_img = this.GetScreen();
            m_imgDark = new Bitmap(this.Width,this.Height);
            using (SolidBrush sb = new SolidBrush(Color.FromArgb(127, 0, 0, 0))) {

.......
}

  private Image GetScreen() {
            Bitmap bmp = new Bitmap(this.Width, this.Height);
            using (Graphics g = Graphics.FromImage(bmp)) {
                g.CopyFromScreen(0, 0, 0, 0, bmp.Size);

 屏幕录制gif软件_手机录屏咋录内部声音

  if (btn_start.Text == "开始录制")
            {
                if (m_scrRecorder != null) m_scrRecorder.Clear();
                m_scrRecorder = null;

                if (m_scrRecorder == null)
                {
                    if (m_rect != Rectangle.Empty)
                    {
                        m_scrRecorder = new ScreenRecorder(m_rect, 100);
                        

                    }
                    else
                    {
                        MessageBox.Show("确保对应的录制方式 有选择数据");
                        return;
                    }
                }
                m_scrRecorder.DrawCursor = chk_drawMouse.Checked;
                m_scrRecorder.Start();
                btn_start.Text = "停止";
                btn_preview.Enabled = false;
                label4.Text = "正在录制";

            }
            else
            {
                m_scrRecorder.Stop();
                btn_start.Text = "开始录制";
                 btn_preview.Enabled = true;
                label4.Text = "录制完成";

            }
        }

屏幕录制gif软件_手机录屏咋录内部声音

 private string GetImageHash(Image img)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                byte[] byImg = new byte[ms.Length];
                ms.Seek(0, SeekOrigin.Begin);
                ms.Read(byImg, 0, byImg.Length);
                return BitConverter.ToString(System.Security.Cryptography.MD5.Create().ComputeHash(byImg)).Replace("-", "");
            }
        }
    }

屏幕录制gif软件_手机录屏咋录内部声音

       private bool m_bGet;
        private GIFColorDepth m_cd;
        private List<byte> m_lst = new List<byte>();


        private int m_nIndexTrans;                        // transparent index in color table
        private int m_nRepeat = 0;                        // 0=repeat forever

        private byte[] m_nIndexedPixels;                  // converted frame indexed to palette
        private byte[] m_byColorTabs;                     // RGB palette
        private bool[] m_bUsedEntrys = new bool[256];     // active palette entries
        private int m_nPalSize = 7;                       // color table size (bits-1)
        private int n_nDispose = -1;                      // disposal code (-1 = use default)
        private bool m_bFirstFrame = true;

        public GIFCreator(int nWidth, int nHeight, GIFColorDepth cd) {
            this._Width = nWidth;
            this._Height = nHeight;
            m_cd = cd;
            m_lst.AddRange(Encoding.ASCII.GetBytes("GIF89a"));
            this.WriteLSD();    // logical screen descriptior
        }

        public void AddFrame(Image img, int nSleep) {
            if (m_bGet) {       //如果获取过图像数据 那么把末尾的结束标志去掉
                m_lst.RemoveAt(m_lst.Count - 1);
                m_bGet = false;
            }
            this.AnalyzePixels(this.GetImagePixels(img));   // build color table & map pixels
            if (m_bFirstFrame) {
                this.WritePalette();                        // global color table
                if (m_nRepeat >= 0) {
                    this.WriteNetscapeExt();                // use NS app extension to indicate reps
                }
            }
            this.WriteGraphicCtrlExt(nSleep);               // write graphic control extension
            this.WriteImageDesc();                          // image descriptor
            if (!m_bFirstFrame) {
                this.WritePalette();                        // local color table
            }
            this.WritePixels();                             // encode and write pixel data
            m_bFirstFrame = false;
        }

屏幕录制gif软件_手机录屏咋录内部声音


项目链接

GIF录屏制作工具_录制屏幕生成GIF-C#文档类资源-CSDN下载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191571.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 贴片DO-218AB封装TVS二极管SM8T33A

    贴片DO-218AB封装TVS二极管SM8T33A提及“汽车级瞬态二极管”,大多数电子工程师都会想到DO-218AB封装SM8S系列中的SM8S24V、SM8S33A、SM8S36A、SM8S36CA等等,这些物料常用于汽车12V系统和24系统中,可通过抛负载7637-5a/5b测试,为汽车电子产品安全保驾护航。关于汽车级瞬态TVS二极管SM8T系列,知道的电子工程师并不多,但是经常有客户咨询:SM8T系列型号有哪些?SM8T33A二极管参数?SM8T36A可以替代SM8S36A吗?SM8T24CA和SM8S24CA有什么区别……瞬态二极管厂家东沃电子

  • MFC控件 — 进度条【案例】「建议收藏」

    MFC控件 — 进度条【案例】「建议收藏」打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉。对于MFC进度条的使用,下面用一个案例介绍一下。案例:进度条单步加载和自动连续加载步骤:1.按下图在对话框中添加一个进度条,一个编辑框,和3个按钮,并为进度条添加一个控件变量进度条变量:m_Progress2.在初始化函数中对进度条进行初始化,代码如下:BOOLCSpinDlg::OnInitDia…

  • 【mysql】细说 数据库隔离级别 及实现

    【mysql】细说 数据库隔离级别 及实现网上大多数关于隔离级别的文章都是讲了事务中的问题以及隔离级别可以解决的问题,我这次想看看数据库底层是如何实现隔离级别的。不过还是先来回顾一下隔离级别以及可能发生的问题。1.脏读:指的是一个事务的读操作读到了另一个未提交的事务修改的值。比如下面的场景:脏读的问题是,读到的值可能会被回滚,那么这个值就是失效的,不能继续使用,否则会有一致性问题。2.不可重复读:指的是一个事务读…

  • java 单例模式 例子_简述单例模式并且举例说明

    java 单例模式 例子_简述单例模式并且举例说明Java单例模式的实例代码

  • 新经济政策商品经济_2021年国际商务热点

    新经济政策商品经济_2021年国际商务热点新经济的50个新热点2005-06-2114:09  中国机电企业网10多年来,新经济一直沿着“技术发展”和“应用创新”这两个方向奔跑。  这两个方向可以被看作既分立又统一的一对“双螺旋”——技术发展创造了应用的创新环境,而应用的创新往往很快就会触到技术的极限,进而鞭策技术的进一步演进。  在技术和应用这两条线上都可以诞生出引人入胜的商业创意,但是只有当技术和应用的激烈碰撞达到一定的融合程

  • h5电商模板_网站模板

    h5电商模板_网站模板[HTML+CSS]电商网站模板b站白嫖的网课,黑马的小兔鲜儿案例,教程链接点这里就行成品文件目录结构CSSbase.css:基本样式,内外边距,字体之类的common.css:网页的公共样式,一般是header部分和footer部分index.css:首页样式imageslogo.png:网站logosprites.png:拿来存精灵图的、uploads以图片为主,主要存放需要经常更新的资源例如商品图片,活动图片等favicon.ico网站图标index.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号