socket.io 和canvas 实现的共享画板功能


Posted in HTML / CSS onMay 22, 2019

起初只是想要写个简单的画板,后面不知不觉的想起石墨文档有一个白板功能,就想将当前这个画布功能,开发成一个简易版的协作画板。

在线演示:努力部署中,目前需要clone到本地运行。

git 地址

2、运行
 

git clone <repository>
npm install
#>>>对于开发阶段:
#前端服务启动(利用webpack dev server):
npm run dev
#后台服务启动(使用了nodemon 实时监听后端文件修改重启服务)
npm run start
#>>>对于生产阶段:
#打包前端文件,然后启动服务器即可
1、 npm run build
2、 npm run start

3、功能:

开发完成:
•画布缩放(Done)
•画布颜色(Done)
•画笔颜色(Done)
•画笔粗细(Done)
•历史记录(撤销,恢复)(Done)
•聊天室(Done)
•绘制协作(类似于石墨文档协作)(Done)

待开发的功能:

•UI 界面美化(待开发) •打算使用UI库(material Design)

•文字控件(待开发)
•上传图片,基于图片绘图(待开发)
•绘图带基本形状可拖拽调控大小 (待开发)
• 聊天功能丰富(表情,图片,音视频)(待开发) •webRTC 获取视频流数据,并传输

•其它未知功能(x)

4、效果图

socket.io 和canvas 实现的共享画板功能

socket.io 和canvas 实现的共享画板功能 

5、后话

这个应用实现的比较基础,还有很大的改进空间。

以上所述是小编给大家介绍的socket.io 和canvas 实现的共享画板功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

HTML / CSS 相关文章推荐
css3 自定义字体font-face使用介绍
May 14 HTML / CSS
css3实例教程 一款纯css3实现的发光屏幕旋转特效
Dec 07 HTML / CSS
实例讲解使用CSS实现多边框和透明边框的方法
Sep 08 HTML / CSS
详解css position 5种不同的值的用法
Jul 30 HTML / CSS
HTML5拖放功能_动力节点Java学院整理
Jul 13 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
Jul 02 HTML / CSS
HTMl5的存储方式sessionStorage和localStorage详解
Mar 18 HTML / CSS
HTML5图片预览实例分享
Jun 04 HTML / CSS
移动端html5 meta标签的神奇功效
Jan 06 HTML / CSS
深入浅析HTML5中的article和section的区别
May 15 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
Sep 09 HTML / CSS
CSS3实现的3D隧道效果
Apr 27 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
May 27 #HTML / CSS
利用canvas实现图片下载功能来实现浏览器兼容问题
May 31 #HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
Jun 03 #HTML / CSS
详解利用canvas实现环形进度条的方法
Jun 12 #HTML / CSS
Html5 实现微信分享及自定义内容的流程
Aug 20 #HTML / CSS
前端canvas动画如何转成mp4视频的方法
Jun 17 #HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
Jul 10 #HTML / CSS
You might like
php基础知识:控制结构
2006/12/13 PHP
ThinkPHP php 框架学习笔记
2009/10/30 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
php生成xml简单实例代码
2009/12/16 PHP
php实现根据字符串生成对应数组的方法
2014/09/22 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
2015/12/20 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
node.js学习之交互式解释器REPL详解
2016/12/08 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Django开发中的日志输出的方法
2018/07/02 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
越南综合购物网站:Lazada越南
2019/06/10 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
高中军训感言500字
2014/02/24 职场文书
就业协议书范本
2014/04/11 职场文书
高中学生评语大全
2014/04/25 职场文书
廉洁教育学习材料
2014/05/19 职场文书
项目负责人任命书
2014/06/04 职场文书
办公室主任个人总结
2015/02/28 职场文书
检讨书格式范文
2015/05/07 职场文书
六一活动主持词
2015/06/30 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python