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一款3D字体带阴影效果的实现步骤
Mar 20 HTML / CSS
CSS3模拟IOS滑动开关效果
Sep 28 HTML / CSS
CSS3实现的渐变幻灯片效果
Dec 07 HTML / CSS
你可能不熟练的十个前端HTML5经典面试题
Jul 03 HTML / CSS
HTML5注册页面示例代码
Mar 27 HTML / CSS
HTML5中的音频和视频媒体播放元素小结
Jan 29 HTML / CSS
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
May 18 HTML / CSS
recorder.js 基于Html5录音功能的实现
May 26 HTML / CSS
CSS实现隐藏搜索框功能(动画正反向序列)
Jul 21 HTML / CSS
HTML怎么设置下划线?html文字加下划线方法
Dec 06 HTML / CSS
什么是css原子化,有什么用?
Apr 24 HTML / CSS
前端使用svg图片改色实现示例
Jul 23 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
PHP5/ZendEngine2的改进
2006/10/09 PHP
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
laravel 数据验证规则详解
2019/10/23 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
倒记时60刷新网页的js代码
2014/02/18 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
详解在Python程序中自定义异常的方法
2015/10/16 Python
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
python实现自主查询实时天气
2018/06/22 Python
Python模块的加载讲解
2019/01/15 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
python如何删除文件中重复的字段
2019/07/16 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
环境科学专业研究生求职信
2013/10/02 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
辞职信的写法
2015/02/27 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书