Web编程大作业(五)在线黑板&弹幕功能(canvas+websocket)

在线黑板

前置准备

先用canvas做一个简易版的黑板,能改变笔触的颜色和粗细,并将当前绘图复制到另一个元素上
在这里插入图片描述在这里插入图片描述
这个简易版黑板的代码也可以看一下

<style>
    .can{
    
        border: 2px black solid;
        top:100px;
        margin:auto;
    }
    #show{
    
        border: 2px black solid;
        top:100px;
        height:500px;
        width:500px;
        left:0px;
    }
</style>
<script>
    var color='black';
    var width=5;
    var x1,y1,x2,y2;
    var isMouseDown=false;
    var canvas;
    var context;
    var container;
    window.onload=function(){
    
        canvas=document.getElementById('canvas');
        context=canvas.getContext("2d");
        container=document.getElementById('container');
        container.onmousedown=mouseDownAction;
        document.onmouseup=mouseUpAction;
        canvas.onmousemove=mouseMoveAction;
        console.log(canvas,context);
    }
    function mouseDownAction(e){
    
        isMouseDown=true;
        // console.log(e);
        x1=e.offsetX;
        y1=e.offsetY;
        console.log(x1,y1);
    }
    function mouseUpAction(){
    
        isMouseDown=false;
    }
    function mouseMoveAction(e){
    
        if (isMouseDown){
    
            x2=e.offsetX;
            y2=e.offsetY;
            drawLine(x1,y1,x2,y2);
            x1=x2;
            y1=y2;
        }
    }
    function drawLine(x1,y1,x2,y2){
    
        context.beginPath();
        context.moveTo(x1,y1);
        context.lineWidth=width;
        context.strokeStyle=color;
        context.lineTo(x2,y2);
        console.log(color,width);
        context.stroke();
    }
    function showRange(){
    
        console.log(document.getElementById('width').value);
        width=document.getElementById('width').value/10;
    }
    function showColor(){
    
        console.log(document.getElementById('color').value);
        color=document.getElementById('color').value;
    }
    function broadcast(){
    
        console.log(canvas.toDataURL("image/png",0.92));
        var show=document.getElementById('show');
        show.innerHTML="<img src='"+canvas.toDataURL("image/png",0.92)+"'>'"
    }
    function clearCan(){
    
        context.clearRect(0,0,1000,1000);
    }
</script>
<body>
    <div class='center' id="container">
        <canvas class
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值