web前端|js教程
canvas,用作好
web前端-js教程
这次给大家带来如何使用canvas来制作好用的涂鸦画板,使用canvas来制作好用的涂鸦画板的注意事项有哪些,下面就是实战案例,一起来看一下。在canvas中获取光标坐标
android应用源码购物商城客户端,mac vscode使用技巧,ubuntu的uk,tomcat是否正常运行,虫子爬虫子怎么爬虫子怎么吃,php 读取docx,嘉善信息化seo推广,论坛免费网站模板下载,destoon 单页模板lzw
获取坐标的代码很简单:
h5登录注册页面源码,vscode 调试树形,ubuntu 解压mysql,tomcat 修改post,sqlite ado封装,国内租云服务器,js 高亮插件,前端框架应用与实现,java爬虫下载,达内php培训好吗,关键词优化工具乐云seo,网站源代码整站下载,网页图书管理系统模板,后台开发模板,css 导航页面,简单管理系统网页模板,时时彩程序源码出售lzw
*{margin: 0;padding: 0} var canvas = document.getElementById(oard); var context = canvas.getContext(2d); var current = { color: lack,// 0) {var touch = e.touches[0];return { x: touch.pageX, y: touch.pageY }; } return { x: e.clientX, y: e.clientY }; } //鼠标移动 function onMouseMove(e) { var p = getPoint(e); document.getElementById("point").innerHTML=p.x+"-"+p.y; } canvas.width = 600; canvas.height = 300; canvas.addEventListener(mousemove, onMouseMove, false); //<==兼容PC canvas.addEventListener( ouchmove, onMouseMove, false);//<===兼容安卓或其他系统
注意:因为鼠标与触摸屏的事件是不一样的,鼠标只要悬浮与canvas上就可以获取到了,而触摸屏是需要按下的,并且所返回的 Event 对象也是不一样的。
插件源码模板,ubuntu 宽带上网,现在都不用tomcat了,爬虫 密钥加密,使用docker搭建php环境,seo侵权lzw
2.控制是否绘制
控制是否绘制其实很简单,就是在不同事件时判断自定义变量drawing的值来控制
*{margin: 0;padding: 0} var canvas = document.getElementById(oard); var context = canvas.getContext(2d); var current = { color: lack,//<===画笔颜色配置 width: 1//线条宽度 }; var drawing = false;// 0) {var touch = e.touches[0];return { x: touch.pageX, y: touch.pageY }; } return { x: e.clientX, y: e.clientY }; } //鼠标按下 function onMouseDown(e) {drawing = true; } //鼠标弹起 function onMouseUp(e) {if (!drawing) { return; }drawing = false; } //鼠标移动 function onMouseMove(e) { if (!drawing) { return; } var p = getPoint(e); document.getElementById("point").innerHTML=p.x+"-"+p.y; } canvas.width = 600; canvas.height = 300; canvas.addEventListener(mousedown, onMouseDown, false); canvas.addEventListener(mouseup, onMouseUp, false); canvas.addEventListener(mouseout, onMouseUp, false); canvas.addEventListener(mousemove, onMouseMove, false); canvas.addEventListener( ouchstart, onMouseDown, false); canvas.addEventListener( ouchend, onMouseUp, false); canvas.addEventListener( ouchmove, onMouseMove, false);
3.线条绘制
线条绘制的代码也是很简单的
....//线条绘制function drawLine(x0, y0, x1, y1, color, width) { context.beginPath(); context.moveTo(x0, y0); context.lineTo(x1, y1); context.strokeStyle = color; context.lineWidth = width;context.stroke(); context.closePath();}....
将绘制线条代码整合到事件中:
4.绘制线条优化
当绘制线条宽度比较小的时候还好,一旦比较粗就会有写问题:
这时只要稍微改一下绘制的代码就行了
....//线条绘制function drawLine(x0, y0, x1, y1, color, width) { context.beginPath(); context.moveTo(x0, y0); context.lineTo(x1, y1); context.strokeStyle = color; context.lineWidth = width;//-----加入----- context.lineCap = "round"; context.lineJoin = "round"; //-----加入----- context.stroke(); context.closePath();}....