# Snipio.js **Repository Path**: oi-contrib/Snipio.js ## Basic Information - **Project Name**: Snipio.js - **Description**: 支持截图、编辑和保存到本地功能,且可扩展 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: https://oi-contrib.github.io/Snipio.js - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-04-04 - **Last Updated**: 2024-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # [Snipio.js](https://github.com/oi-contrib/Snipio.js) 支持截图、编辑和保存到本地功能,且可扩展

downloads Version GitHub repo stars

NPM ## 如何使用? 首先需要进行安装: ``` npm install --save snipio.js ``` 然后在项目中引入: ```js import Snipio from 'snipio.js' Snipio({ /** * 启动后是否需要先让用户截图,可选 * 1、h5 页面截图方式 * 2、system 系统截图方式 * 3、none 不截图(默认值) */ snipping: "h5" }) ``` 当然,你也可以使用CDN的方式: ```html ``` 然后,在代码开头启动: ```js Snipio({ snipping: "system" }) ``` ### 使用html2canvas截图 > 0.2.0 新增 截取屏幕你也可以选择使用`html2canvas`,只需要: ```js Snipio({ snipping: "html2canvas", html2canvas }); ``` ### 扩展工具箱 你可以通过下面方式,扩展工具按钮: ```js Snipio({ tool: [{ label: "确认", callback: function () { console.log("你点击了确认按钮!"); } }] }) ``` 上面我们就给工具箱添加了一个确定按钮。 如果你希望添加的按钮进行更复杂的业务处理,比如类似“画笔”或“马赛克”,你可以这样: ```js Snipio({ tool: [{ label: "马赛克", // v0.2.0 新增 drawHistroy:{ mosaic:function(history){} }, callback: function () { return { on:{ mouseDown:function(event){}, mouseMove:function(event){}, mouseUp:function(event){} } } }, hold: true }] }) ``` 其中on的事件会主动触发。 > 具体代码你可以查看:[./src/toolbox/index.js](./src/toolbox/index.js) 此外,包括on及其下面的mouseDown等在内的所有配置都可选,且其中的this均一致,格式如下: ```js this = { // 截图 base64:String, // 画布节点 view: Element, // 画布尺寸 width: Number, height: Number, // 画笔 painter, // 历史记录 history: Array, // 绘制历史记录,v0.2.0 新增 drawHistroy: Function, // 关闭 close: Function, // 获取当前画布base64 toDataURL: Function } ``` 你可以借助这个this来获取或修改当前的信息等。 ## 版权 MIT License Copyright (c) [zxl20070701](https://zxl20070701.github.io/notebook/home.html) 走一步,再走一步