介绍
这篇文章将为大家详细讲解有关帆布怎么画出平滑的曲线,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强>背景概要强>
相信大家平时在学习帆布或项目开发中使用帆布的时候应该都遇到过这样的需求:实现一个可以书写的画板小工具。
嗯,相信这对画布使用较熟的童鞋来说仅仅只是几十行代码就可以搞掂的事情,以演示下就是一个再也简单不过的例子了:
& lt; ! DOCTYPE html> & lt; html> & lt; head> ,,,& lt; title> Sketchpad demo ,,,& lt; style 类型=拔谋?css"比; ,,,,,,,canvas { ,,,,,,,,,,,边界:,1 px blue 固体,, ,,,,,,,} ,,,& lt;/style> & lt;/head> & lt; body> ,,,& lt; canvas id=癱anvas",宽度=?00“,身高=?00“祝辞& lt;/canvas> ,,,& lt; script 类型=拔谋?javascript"比; ,,,,,,,let isDown =,假; ,,,,,,,let beginPoint =,空; ,,,,,,,const canvas =, document.querySelector(& # 39; #帆布# 39;); ,,,,,,,const ctx =, canvas.getContext (& # 39; 2 d # 39;); ,,,,,,,//,设置线条颜色 ,,,,,,,ctx.strokeStyle =, & # 39;红色# 39;; ,,,,,,,ctx.lineWidth =, 1; ,,,,,,,ctx.lineJoin =, & # 39;轮# 39;; ,,,,,,,ctx.lineCap =, & # 39;轮# 39;; ,,,,,,,canvas.addEventListener (& # 39; mousedown& # 39;,,,,假); ,,,,,,,canvas.addEventListener (& # 39; mousemove& # 39;,,,,假); ,,,,,,,canvas.addEventListener (& # 39; mouseup # 39;,,,,假); ,,,,,,,canvas.addEventListener (& # 39; mouseout& # 39;,,,,假); ,,,,,,,function 下来(evt), { ,,,,,,,,,,,isDown =,真的; ,,,,,,,,,,,beginPoint =, getPos (evt); ,,,,,,,} ,,,,,,,function 移动(evt), { ,,,,,,,,,,,if (! isDown),返回; ,,,,,,,,,,,const endPoint =, getPos (evt); ,,,,,,,,,,,画直线(beginPoint,端点); ,,,,,,,,,,,beginPoint =,端点; ,,,,,,,} ,,,,,,,function 起来(evt), { ,,,,,,,,,,,if (! isDown),返回; ,,,,,,,,,,, ,,,,,,,,,,,const endPoint =, getPos (evt); ,,,,,,,,,,,画直线(beginPoint,端点); ,,,,,,,,,,,beginPoint =,空; ,,,,,,,,,,,isDown =,假; ,,,,,,,} ,,,,,,,function getPos (evt), { ,,,,,,,,,,,return { ,,,,,,,,,,,,,,,x:, evt.clientX, ,,,,,,,,,,,,,,,y: evt.clientY ,,,,,,,,,,,} ,,,,,,,} ,,,,,,,function 画直线(beginPoint,端点),{ ,,,,,,,,,,,ctx.beginPath (); ,,,,,,,,,,,ctx.moveTo (beginPoint.y beginPoint.x也); ,,,,,,,,,,,ctx.lineTo (endPoint.y endPoint.x也); ,,,,,,,,,,,ctx.stroke (); ,,,,,,,,,,,ctx.closePath (); ,,,,,,,} null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null帆布怎么画出平滑的曲线