fabric photo
发表于|更新于
|浏览量:
这是一个流行离开的世界,但是我们都不擅长告别。——《生活在别处》
今天分享一个fabric photo,它是一个基于 canvas 的纯前端的图片编辑器,支持方形,圆形,箭头,缩放,拖拽,鹰眼,马赛克,涂鸦,线条,导出 png,剪切等
github地址:https://github.com/ximing/fabric-photo
在线体验Demo:https://ximing.github.io/fabric-photo/

找了很多个,这个应该是很好用的了
并且协议为MIT,支持商用
相关推荐
2023-01-14
google、YouTube、Medium进度条
当一个男人偷走了你的妻子时,最好的报复是让他去赡养她——吉特里 这是一个目前25K stars的项目 github:https://github.com/rstacruz/nprogress 演示网址:http://ricostacruz.com/nprogress 进度条是浏览器上方的这个
2024-10-14
Apache-ShenYu动态扩缩容前端对接
能够隐藏自己的才能是一种很大的才能。——罗休夫柯 pr链接: https://github.com/apache/shenyu-dashboard/pull/489 see gif: 后端也包含了一个提交sql和优化代码的pr: [type:improve] Add dynamically scale admin page by VampireAchao · Pull Request #5706 · apache/shenyu · GitHub 菜单的: 12345INSERT INTO `resource` VALUES ('1844015648095666176', '1346776175553376256', 'SHENYU.MENU.SYSTEM.MANAGMENT.SCALE', '', '/system/scale', '', 1, 4, 'sliders', 0, 0, '', 1, ...
2021-12-01
nvue中tap事件取消冒泡
青春是一种持续的陶醉,是理智的狂热。——拉罗什富科 nvue中@tap.stop阻止冒泡失效了 代码如下: 1<view @tap="parentEvent"><view @tap.stop="childEvent">触发触发</view></view> 大概有两种方案,第一种是改事件,改为@touchend事件 1<view @tap="parentEvent"><view @touchend="childEvent">触发触发</view></view> 不过还有另一种方式 1234567parentEvent(e) { console.log('parentEvent');},childEvent(e) { console.log('childEvent'); e.stopPropagation();}
2021-12-04
Promise
人活在世,不过一场美丽的寄居。——简嫃 在前端开发中经常会使用异步方法 这里介绍Promise函数 定义方式: 12345// Promise内部构造参数为一个闭包,闭包中传入你想要异步处理的逻辑new Promise((resolve,reject)=>{ // 这里resolve表示正常处理异步逻辑后传送回调,reject则是异常逻辑或错误逻辑时执行,当异步方法中抛出异常,会自动调用reject,这里也可以手动调用 resolve(1)}) 然后定义完了,我们就可以开始调用 调用写法如下: 12345678new Promise((resolve,reject)=>{ // 假设我这里异步方法处理完后得到的结果为1,我就传入一个1 resolve(1)}).then(res=>{ // 然后异步方法执行完了,我再对结果进行异步处理,让得到的1再加一个1 console.log(res+1)}) 使用then可以执行异步方法后续处理,将异步方法的回调的结果作...
2023-02-06
js发送通知
温和的对待,不会使敌人变成朋友——萨迪 文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Notification https://developer.mozilla.org/zh-CN/docs/Web/API/notification/requestPermission 代码如下 1234567Notification.requestPermission().then((permission) => { // If the user accepts, let's create a notification if (permission === "granted") { const notification = new Notification("Hi there!"); // … } }); 效果: 完整代码: 1234567891011121314151...
2022-08-03
vuepress-theme-vdoing
要品味生活的浪漫,你得有点儿演员精神,必须像个旁观者,对自己的所作所为既超然事外又忘我投入。——毛姆 《月亮和六便士》 分享一个VuePress知识管理&博客 主题 官方文档:https://doc.xugaoyi.com/ github:https://github.com/xugaoyi/vuepress-theme-vdoing 提供多种主题模式 看起来也很简洁,还有对应的广告位 也有用来做博客的 mybatis-plus也用的该主题

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog