直播课||你画我猜 场景需要的橡皮擦功能

刚刚看完白板部分的代码,需求就想把拖了好长时间的需求交给我。

场景:直播课上需要橡皮,老师在这边擦掉线,另一边需要实时同步。线条的记录是用坐标点+size+颜色存储在数据库+redis,实时的条件下都是直接在redis的链表下存储,rpush每次的笔画,blpop,未读的所有未读的笔画。(目前用的轮询,我还有一个大任务就是用Go实现WebSocket方案)

事现方案一,直接将橡皮擦比作白色的画笔,覆盖上去就好

问题是背景下还有PPT为背景,覆盖上就会把PPT给挡住,所以这个方案我不能使用

事现方案二,因为白板的是canvas实现的,所以想事现类似于透明画笔的效果,就是笔画过后之后,颜色就透明消失掉。

首先查了一下canvas有clip函数,接下来就是和画笔一样,在本地清除笔画,然后记录像素点集合,作为数据发给后台,后台将像素点和笔画一样存在redis,然后发给另一端,另一端读到关键字,根据像素点擦除原有的笔画,就和透明画笔是一样哒。


这里是本地橡皮擦是事现https://www.cnblogs.com/axes/p/3850309.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值