Skip to content

ksdhyPro/screenShot

Repository files navigation

基于 NodeJs Electron 的桌面截屏软件

项目说明

调用 nodejs 获取当前桌面截图 传输给渲染进程,绘制到 canvas,捕捉用户框选操作 获取用户框选坐标、框选大小(注意结合 window.devicePixelRatio 以获取到真实屏幕像素位置) 把框选位置传输到主进程,处理图像裁剪,把裁剪后的图像发送到另一个渲染进程,显示裁剪后的部分

优化项:

  • 问题复现:

    截屏后出现短暂白屏

  • 问题原因:

    每次动态注册快捷键时都读取了本地存储,由于是同步读取,会阻塞主进程

  • 优化方案:

    变更为添加一层内存缓存,应用初始化读取一次,以后每次在内存中找,再通过设置页面设置时,同步更新缓存和本地存储

  • 问题复现:

    截屏后画布清空延迟

  • 问题原因:

    浏览器存在节能优化,在页面不可见时,requestAnimationFrame 会停止运行,canvas 也会停止绘制

  • 优化方案: 窗口添加以下配置

    webPreferences: {
      backgroundThrottling: false,
    }

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages