html页面涂鸦,HTML5 | Canvas画笔小应用(涂鸦板)

JavaScript

语言:

JaveScriptBabelCoffeeScript

确定

const canvas = document.querySelector('#draw');

const ctx = canvas.getContext('2d');

canvas.width = window.innerWidth;

canvas.height = window.innerHeight;

ctx.strokeStyle = '#BADA55'; //ctx is the canvas

ctx.lineJoin = 'round';

ctx.lineCap = 'round';

ctx.lineWidth = 100;

// ctx.globalCompositeOperation = 'multiply';

let isDrawing = false;

let lastX = 0;

let lastY = 0;

let hue = 0;

let direction = true;

function draw(e) {

if (!isDrawing) return; // stop the fn from running when they are not moused down

console.log(e);

ctx.strokeStyle = `hsl(${hue}, 100%, 50%)`;

ctx.beginPath();

// start from

ctx.moveTo(lastX, lastY);

// go to

ctx.lineTo(e.offsetX, e.offsetY);

ctx.stroke();

[lastX, lastY] = [e.offsetX, e.offsetY];

hue++;

if (hue >= 360) {

hue = 0;

}

if (ctx.lineWidth >= 100 || ctx.lineWidth <= 1) {

direction = !direction;

}

if (direction) {

ctx.lineWidth++;

} else {

ctx.lineWidth--;

}

}

canvas.addEventListener('mousedown', (e) => {

isDrawing = true;

[lastX, lastY] = [e.offsetX, e.offsetY];

});

canvas.addEventListener('mousemove', draw);

canvas.addEventListener('mouseup', () => isDrawing = false);

canvas.addEventListener('mouseout', () => isDrawing = false);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值