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);
html页面涂鸦,HTML5 | Canvas画笔小应用(涂鸦板)相关推荐
- html 写字版插件,JS+HTML5 Canvas实现简单的写字板功能示例
本文实例讲述了JS+HTML5 Canvas实现简单的写字板功能.分享给大家供大家参考,具体如下: 先来看运行效果: 具体代码如下: www.jb51.net JS写字板 body,html { pa ...
- 写字板能用html语言吗,JS+HTML5 Canvas实现简单的写字板功能示例
本文实例讲述了JS+HTML5 Canvas实现简单的写字板功能.分享给大家供大家参考,具体如下: 先来看运行效果: 具体代码如下: www.jb51.net JS写字板 body,html { pa ...
- php写字板代码,JS+HTML5 Canvas实现简单的写字板功能示例
本文实例讲述了JS+HTML5 Canvas实现简单的写字板功能.分享给大家供大家参考,具体如下: 先来看运行效果: 具体代码如下: www.jb51.net JS写字板 body,html { pa ...
- Html5 canvas 简单画布画板涂鸦例子
简单的Html5 canvas 画板涂鸦例子,巧妙的使用onmousemove 事件来实现画画, 可以实现指定颜色和宽度,如图: <!DOCTYPE HTML> <html>& ...
- HTML5 canvas 实现小时钟
正在看HTML5的相关内容,这个是关于canvas应用的小程序 canvas画图很强大,就类似于自己用圆规直尺在画板上画图一样 写的时候参照了网上其他代码,比如擦除表针要上下左右多擦除两个像素 写完之 ...
- html5 canvas 画笔透明的实现方法
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 怎么用html做出星空页面,用HTML5+canvas代码绘制的星空月亮图案特效代码
脚本代码(For Alixixi.com)如下: 用HTML5绘制的一个星空特效图 canvas{ display: block;border:1px dotted skyblue; } body{ ...
- html5圆形图片自动旋转,HTML5/Canvas 彩虹小方块圆盘旋转
JavaScript 语言: JaveScriptBabelCoffeeScript 确定 var canvas, ctx, width, height, xCenter, yCenter, squa ...
- 原生js输出html5,原生JS+HTML5实现的可调节写字板功能示例
本文实例讲述了原生JS+HTML5实现的可调节写字板功能.分享给大家供大家参考,具体如下: 前面一篇介绍了<JS+HTML5 Canvas实现简单的写字板功能>,这里再介绍另一种实现方法. ...
最新文章
- 如何用体验赢取用户信任?让 Waymo 来教教你
- bzoj 1864: [Zjoi2006]三色二叉树
- php cdi_CDI和EJB:在事务成功时发送异步邮件
- java 常量区存放 new_java---堆、栈、常量池的存储数据
- 关于使用rem单位,calc()进行自适应布局
- 怎么把打开方式还原计算机程序,打开方式怎么还原【图文】
- Hibernate api 之常见的类(配置类,会话工厂类,会话类)
- 培养一个数据人才需要多少年?
- C++ vector和set的区别
- OpenCV2:Mat属性type,depth,step
- jmeter抓取cnode网站token值
- 360安卓_360手机助手安卓下载
- 单片机实验报告-片内外RAM的数据转移
- 每日英语阅读(五十四)
- 2018年嵌入式处理器报告:神经网络加速器的崛起
- (6)微信运动点赞(下)-JsDroid引流脚本混合式开发技术系列教程By飞云脚本学院
- 条件期望,重期望,相关知识点
- 常用URL分享,实用地址
- GCC-PHAT算法
- 微信小程序 历史记录和长按清除
热门文章
- 电脑之间利用串口传文件
- java 编译器原理_作业5:Java编译原理
- C++ POCO库(访问数据库,版本问题,本人配置失败)
- POCO C++ 在IOS上的使用
- 昵图网共享分下载代包下素材nipic呢图下载币图网设计素材下载
- Java语言制作动画
- 弘辽科技:什么是淘宝直通车卡位?有哪些卡位技巧?
- oracle里update+where,Oracle 关联表更新 update ,where exists
- 中国音视频SaaS第一股,百家云(RTC)正式登陆纳斯达克,估值达8.4亿美元
- Java篇,小米java校招面试