1.1.0 • Published 9 months ago

@neosjs/screen-shot v1.1.0

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

NeosJS ScreenShot

JS截屏插件

安装

# npm
npm install @neosjs/screen-shot
# yarn
yarn add @neosjs/screen-shot
# pnpm
pnpm add @neosjs/screen-shot

使用

import ScreenShot from '@neosjs/screen-shot'
import '@neosjs/screen-shot/dist/index.css'
let screenShoter = null
const screen = () => {
  screenShoter = new ScreenShot({
    cutDotColor: '#1da750',
    cutDotSize: 6,
    cutDotRound: true,
    toolPosition: 'right',
    confirmBtnText: '完成',
    showToolIcon: [
      'save'
    ],
    onComplete: ({ base64 }: any) => {
      console.log(base64)
    },
    onSave: (code: number, msg: string) => {
      console.log(code, msg)
    },
    onLoaded: res => {
      console.log(res, '截图组件加载完毕')
    },
    onClose: () => {
      console.log('关闭截图')
    }
  })
}

// 确认截图
const complete = () => {
  screenShoter && screenShoter.complete()
}

// 销毁
const destroy = () => {
  screenShoter && screenShoter.destroy()
}

参数

参数说明类型可选值默认值
enableWebRtc是否启用WebRtcboolean-false
webrtcWindowMode是否启用窗口截图模式,默认为当前标签页截图Boolean-false
level截图容器层级number-99999
canvasWidth画布宽度(必须与高度一起设置,单独设置无效。)number--
canvasHeight画布高度(必须与宽度一起设置,单独设置无效。)number--
dpr画布像素比number-window.devicePixelRatio
lockScroll是否锁定滚动条boolean-true
position截图框位置object{ top: 0, left: 0 }-
clickCutFullScreen点击截图框是否全屏boolean-false
screenShotDom需要进行截图的容器HTMLElement、HTMLDivElement、HTMLCanvasElement--
maskColor遮罩颜色string-rgba(0, 0, 0, 0.5)
saveImgTitle保存图片时的文件名string-new Date().getTime()
cutDotColor截图点颜色string-#6cb6ff
cutDotSize截图点大小number-6
cutDotRound截图点是否圆角boolean-false
showScreenData是否显示截图数据boolean-false
toolPosition工具栏位置stringleft、right、centerright
confirmBtnText确认按钮文案string--
showToolIcon显示的工具栏图标string[]'square', 'round', 'brush', 'mosaicPen', 'text', 'undo', 'confirm', 'right-top', 'separateLine', 'save''close','confirm'
imgSrc截图图片地址string--
loadCrossImg是否加载跨域图片boolean-false
cropBoxInfo截图框信息object{ width: 200, height: 200, x: 0, y: 0 }-
onComplete截图完成回调(res: { base64: string }) => void--
onSave保存回调(code: number, msg: string) => void--
onLoaded加载完成回调(res: any) => void--
onClose关闭回调() => void--
rightClickEvent右键事件{ state: boolean; handler?: () => void--

如果未配置 onComplete 回调,点击确认截图返回的 base64 数据将存储在 seeionStorage 中,key 为 screenShotImg。可通过 sessionStorage.getItem('screenShotImg') 获取。

方法

方法说明
complete确认截图
destroy销毁截图组件

快捷键

快捷键说明
Ctrl/Command + z按下这两个组合键时,等同于点了截图工具栏的撤销图标。
Esc按下键盘上的esc键时,等同于点了工具栏的关闭图标。
Enter按下键盘上的Enter键时,等同于点了工具栏的确认图标。

工具栏图标定制

通过配置 showToolIcon 可以定制工具栏图标,可选值如下:

名称说明
square方形截图
round圆形截图
brush画笔
mosaicPen马赛克笔
text文字
undo撤销
confirm确认
right-top右上角
separateLine分割线
save保存
close关闭
1.1.0

9 months ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.2

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago