canvas js 绘图插件_canvas写字板

三人之一

预计阅读6分钟

正文共2140字,5图

408f392f6ce228c4f7d93d7c696d199d.png

失踪人口回归。

这学期实在是太忙了,

所以就没有更新,

现在放暑假啦,

neutrino就有来啦!

今天给大家分享一个好玩的东西,

用canvas写一个简单写字板

实现用鼠标在屏幕上写字


af88906cb053c719fe54859fdab7ac91.gif

html文件

<html>  <head>    <meta charset="utf-8" />    <title>canvas写字板title>    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">script>    <script src="js/canvas.js" type="text/javascript">script>    <style>      #myCanvas {        background-color: black;        border-radius: 5px;        position: absolute;        margin-left: 402px;        opacity: 0.5;      }style>  head>  <body>    <canvas id="myCanvas" width='1000' height='500'>canvas>    <button id="clearCanvas" style="position: absolute;margin-left: 200px;">清空画布button>  body>html>
af88906cb053c719fe54859fdab7ac91.gif

js文件

$(document).ready(function(){var myContext = document.getElementById('myCanvas').getContext('2d');//返回绘图环境,即二维绘图      var myClickX = new Array();//存放x坐标      var myClickY = new Array();//存放y坐标      var myClickDrag = new Array();//      var myPaint;//定义一个参数,判断画板状态              function addClick(x,y,dragging){        myClickX.push(x);//存放x坐标        myClickY.push(y);//存放y坐标        myClickDrag.push(dragging);//状态      }    //写字      function redraw(){        myContext.strokeStyle = 'green';//画笔颜色         myContext.lineJoin = 'round';//笔尖样式        myContext.lineWidth = 5;//画笔粗细        for(var i=0;i          myContext.beginPath();//beginPath() 方法开始一条路径,或重置当前的路径。          if(myClickDrag[i] && i){            myContext.moveTo(myClickX[i-1], myClickY[i-1])//moveTo() 方法把路径移动到画布中的指定点,不创建线条。          }else{            myContext.moveTo(myClickX[i]-1,myClickY[i])          }          myContext.lineTo(myClickX[i],myClickY[i]);//lineTo() 方法添加一个新点,然后创建从该点到画布中最后指定点的线条(该方法并不会创建线条)。          myContext.closePath();//closePath() 方法创建从当前点到开始点的路径。          myContext.stroke();//stroke() 方法会实际地绘制出通过 moveTo() 和 lineTo() 方法定义的路径。默认颜色是黑色。        }      }          $('#myCanvas').mousedown(function(e){        myPaint = true;//正在画        addClick(e.pageX-this.offsetLeft,e.pageY - this.offsetTop);        redraw();      })          $('#myCanvas').mousemove(function(e){        if(myPaint){//判断状态          addClick(e.pageX-this.offsetLeft,e.pageY - this.offsetTop,true);        }        redraw();      })      $("#myCanvas").mouseup(function(){        myPaint = false;//没有操作      })    //橡皮檫      $('#clearCanvas').click(function(){        myContext.fillStyle='black';   //设置背景颜色        myContext.fillRect(0,0,1000,500) //绘制背景矩形,无填充颜色        myClickX=[];        myClickY=[];        myClickDrag=[];      })      })

ok,完成啦!

效果视频

白白咯

三人之一

围观

透明度属性,阴影属性

丨更多

热文

python04

丨更多

热文

jquery注册页面

丨更多

热文

鼠标事件+复选框

丨更多

热文

jQuery之简易qq聊天页面

丨更多

130f68fcde60b33ffdbb89d9b799a8c6.png

小编:neutrino

代码:aquarius

视频剪辑:简单一个人

图文样式:壹伴

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值