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打造一款漂亮的卡哇伊按钮
Mar 20 HTML / CSS
纯CSS3实现带动画效果导航菜单无需js
Sep 27 HTML / CSS
全方位了解CSS3的Regions扩展
Aug 07 HTML / CSS
CSS3实现可关闭的下拉手风琴菜单效果
Aug 31 HTML / CSS
详解CSS3弹性伸缩盒
Sep 21 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
Mar 17 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
Jan 17 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
Mar 02 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
Nov 22 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
Aug 11 HTML / CSS
AmazeUi Tree(树形结构) 应用小结
Aug 17 HTML / CSS
浅谈CSS不规则边框的生成方案
May 25 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
AM/FM收音机的安装与调试
2021/03/02 无线电
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
javascript算法学习(直接插入排序)
2011/04/12 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
nodejs多版本管理总结
2018/04/03 NodeJs
详解vue-router 初始化时做了什么
2018/06/11 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Selenium的使用详解
2018/10/19 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
业务员的岗位职责
2014/03/15 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
Mysql事务索引知识汇总
2022/03/17 MySQL
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android