Canvas标签简介
HTML 5新增了个标签,简直是神兵利器!居然可以在网页上随意涂鸦。厉害的地方就在于,它能够轻易地操纵JavaScript中的那个神奇的”CanvasRenderingContext2D对象“,从而精准把握画布的运用和绘画流程。除了基本的id、class、style这些属性外,还有一对新的height和width属性,专供设定画布尺寸。
绘图基本流程
画元素,三部曲搞定。首先找好元素所属的DM对象,顺带拿到一个Canvas;接着canvas.getContext(),整出个CanvasRenderingContext2D对象;最后,就在此新对象上随心所欲地发挥你的创意。记住这三部曲我们就是屡试不爽
绘制线段方法
是的,在HTML5 Canvas上画直线其实很简单。快捷方式就是记住两个函数:moveTo(x,y)和lineTo(x,y)。先用moveTo(x,y)决定你的起始点在哪儿,接着通过lineTo(x,y)明确线的终点在哪儿。如果你没有使用moveTo()先定下起点,那 lineTo()就默认以它之前画过的那个点作为起点继续画咯。
简单示例
来!给你们演示下如何画这条线。其实很容易的,用到的是moveTo()和lineTo()这两个函数哦~
javascript Canvas其实就是我们平时所说的画布,网页上就叫"myCanvas"。 首先,得找出画布"2D"那块儿的渲染通道。然后就靠它来控制画布! context.moveTo(0,0); context.lineTo(200, 100); context.stroke();
重新选择起始点
换起始点的话就用 moveTo();选个新起点,避免跟之前的连成一堆线。
XML/HTML Code复制内容到剪贴板canvas绘图演示 #canvas{ border: 1px solid #ADACB0; display: block; margin: 20px auto; } 你的浏览器还不支持canvas var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); //设置对象起始点和终点 context.moveTo(10,10); context.lineTo(200,200); //设置样式 context.lineWidth = 2; context.strokeStyle = "#F5270B"; //绘制 context.stroke();
设置不同线段样式
如果你想为每条线段添加不同的样式,只需在曲线起点处多次使用`context.beginPath()`函数即可。这样做后,每条线段都能有自己独特的外观,互相也不会影响~来看看这个例子:
//第一条线段
context.beginPath();
context.moveTo(50, 50);
context.lineTo(150, 50);
context.strokeStyle =”red”;
//第二条线段
context.moveTo(50, 100);
context.lineTo(150, 100);
JavaScript Code复制内容到剪贴板 var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); //设置对象起始点和终点 context.beginPath(); context.moveTo(100,100); context.lineTo(700,100); context.lineTo(700,400); context.lineWidth = 2; context.strokeStyle = "#F5270B"; //绘制 context.stroke(); context.beginPath(); context.moveTo(100,200);//这里的moveTo换成lineTo效果是一样的 context.lineTo(600,200); context.lineTo(600,400); //strokeStyle的颜色有新的值,则覆盖上面设置的值 //lineWidth没有新的值,则按上面设置的值显示 context.strokeStyle = "#0D25F6"; //绘制 context.stroke();
context.strokeStyle =”blue”;
总结与展望
学会用HTML5Canvas画出线段很容易哒~只要会用MoveTo()和LineTo()这两个函数,轻轻松松就能画出来了。知道如何改变起点位置或调整线段样式吗?别担心,都给你准备好啦~最后,记得在实际运用中多试验这些技巧,开启你的创意之旅!
这片文章对你有帮助么?如果你还想更深入了解HTML5 Canvas,那可别停,继续往下瞅瞅呗。别忘了给我们留言,说说Canvas在web前端开发中的妙处到底在哪里?期待听到您的独到见解!
。
评论0