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 01 HTML / CSS
关于box-sizing的全面理解
Jul 28 HTML / CSS
CSS3实现同时执行倾斜和旋转的动画效果
Oct 27 HTML / CSS
纯CSS3制作页面切换效果的实例代码
May 30 HTML / CSS
html5 touch事件实现页面上下滑动效果【附代码】
Mar 10 HTML / CSS
详解Html5原生拖拽操作
Jan 12 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
Jul 15 HTML / CSS
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
Jun 23 HTML / CSS
HTML5不支持标签和新增标签详解
Jun 27 HTML / CSS
CSS中妙用 drop-shadow 实现线条光影效果
Nov 11 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 HTML / CSS
使用 CSS 构建强大且酷炫的粒子动画效果
Aug 14 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
smtp邮件发送一例
2006/10/09 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
php写app用的框架整理
2019/09/29 PHP
javascript中对对层的控制
2006/12/29 Javascript
javascript 当前日期加(天、周、月、年)
2009/08/09 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
Python中join和split用法实例
2015/04/14 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
Python sublime安装及配置过程详解
2020/06/29 Python
Python 列表反转显示的四种方法
2020/11/16 Python
python实现学生通讯录管理系统
2021/02/25 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
行政人员岗位职责
2013/12/08 职场文书
工商管理毕业生推荐信
2013/12/24 职场文书
市三好学生主要事迹
2014/01/28 职场文书
秘书英文求职信范文
2014/01/31 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
英语教师个人总结
2015/02/09 职场文书
介绍信怎么写
2015/05/05 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
JavaScript实现队列结构过程
2021/12/06 Javascript