线条样式属性
lineCap        设置或返回线条的结束端点样式
butt         默认。向线条的每个末端添加平直的边缘。
round         向线条的每个末端添加圆形线帽。
square         向线条的每个末端添加正方形线帽。

lineJoin        设置或返回两条线相交时,所创建的拐角类型
bevel         创建斜角。
round         创建圆角。
miter         默认。创建尖角。

lineWidth        设置或返回当前的线条宽度
number         当前线条的宽度,以像素计

miterLimit        设置或返回最大斜接长度
number         正数。规定最大斜接长度。
                   如果斜接长度超过 miterLimit 的值,边角会以 lineJoin 的 "bevel" 类型来显示。

    <canvas id="c" width="500" height="450" style="border:1px solid #000"></canvas>
<script type="text/javascript">
var a=document.getElementById("c");
var ctx=a.getContext("2d");
ctx.beginPath(); //起始一条路径,或重置当前路径
ctx.moveTo(20,20); //把路径移动到画布中的指定点,不创建线条
ctx.lineTo(200,20); //添加一个新点,然后在画布中创建从该点到最后指定点的线条
ctx.lineWidth=5; //设置或返回当前的线条宽度
ctx.lineCap="round"; //向线条的每个末端添加圆形线帽。
ctx.strokeStyle="green";
ctx.stroke(); ctx.beginPath();
ctx.moveTo(20,40);
ctx.lineTo(200,40);
ctx.lineWidth=5; //设置或返回当前的线条宽度
ctx.lineCap="butt"; //默认。向线条的每个末端添加平直的边缘。
ctx.strokeStyle="blue";
ctx.stroke(); ctx.beginPath();
ctx.moveTo(20,60);
ctx.lineTo(200,60);
ctx.lineWidth=5; //设置或返回当前的线条宽度
ctx.lineCap="square"; //向线条的每个末端添加正方形线帽。
ctx.strokeStyle="yellow";
ctx.stroke(); ctx.beginPath();
ctx.lineJoin="round"; //设置或返回两条线相交时,所创建的拐角类型
ctx.moveTo(20,80);
ctx.lineTo(50,100);
ctx.lineTo(20,120);
ctx.lineWidth=20;
ctx.strokeStyle="red";
ctx.stroke(); ctx.beginPath();
ctx.lineJoin="bevel";
ctx.moveTo(120,80);
ctx.lineTo(150,100);
ctx.lineTo(120,120);
ctx.lineWidth=20;
ctx.strokeStyle="red";
ctx.stroke(); ctx.beginPath();
ctx.lineJoin="miter";
ctx.moveTo(220,80);
ctx.lineTo(250,100);
ctx.lineTo(220,120);
ctx.lineWidth=20;
ctx.strokeStyle="red";
ctx.stroke(); ctx.beginPath();
ctx.lineWidth=10;
ctx.lineJoin="miter";
ctx.miterLimit=5; //设置或返回最大斜接长度,斜接长度指的是在两条线交汇处内角和外角之间的距离
ctx.moveTo(20,150);
ctx.lineTo(50,157);
ctx.lineTo(20,164);
ctx.stroke();
</script>

HTML5 canvas 中的线条样式的更多相关文章

  1. [js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)

    上文,写完弧度与贝塞尔曲线[js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具),本文主要是关于线条的样式设置 lineWidth: 设置线条的宽 ...

  2. [js高手之路] html5 canvas系列教程 - 文本样式(strokeText,fillText,measureText,textAlign,textBaseline)

    接着上文线条样式[js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)继续. canvas提供两种输出文本的方 ...

  3. HTML5 Canvas中实现绘制一个像素宽的细线

    正统的HTML5 Canvas中如下代码 ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(300,100); c ...

  4. HTML5 Canvas ( 线段端点的样式 ) lineCap

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. HTML5 Canvas 中的颜色、样式和阴影的属性和方法

    颜色.样式和阴影的属性与方法 fillStyle                设置或返回用于填充绘画的颜色.渐变或模式 strokeStyle         设置或返回用于笔触的颜色.渐变或模式 ...

  6. html5 canvas中CanvasGradient对象用法

    html5 中canvas提供了强大的渲染样式,可以实现一些比较复杂的样式设置,今天学习了CanvasGradient对象可以实现一个颜色的渐变 CanvasGradient对象可以实现两种不同形式的 ...

  7. HTML5 canvas中的路径方法

    路径方法 fill()                                填充当前绘图(路径) stroke()                        绘制已定义的路径 begin ...

  8. HTML5 Canvas中9宫格的坑

    近期小鸟情人游戏上了手机qq空间,一个3岁的游戏来了她的第二春.为了能有更好的表现,我们对其进行了一次改版. 改版当中一项就是对原来的弹出框样式进行改进.将大块木板材质改成纯色(边框为圆角金属材质)样 ...

  9. HTML5 Canvas中绘制椭圆的几种方法

    1.canvas自带的绘制椭圆的方法 ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)是后来 ...

随机推荐

  1. android host

    74.125.20.31 market.android.com 74.125.20.31 developer.android.com 74.125.20.31 android.googlesource ...

  2. poj 3308 Paratroopers

    http://poj.org/problem?id=3308 #include <cstdio> #include <cstring> #include <algorit ...

  3. MVC与三层架构的区别

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. ...

  4. 【HDOJ】2150 Pipe

    计算几何的基础题目.是时候刷刷计算几何了. /* 2150 */ #include <cstdio> #include <cstring> #include <cstdl ...

  5. COJN 0585 800604鸡蛋的硬度

    800604鸡蛋的硬度 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛.参 ...

  6. JavaScript权威指南学习笔记4

    今天看了第9.10.11章,感觉收获最大还是正则表达式那章节,不过这些不用太多脑子思考,问题用到了直接查书就可以了,下面分别总结一下: 第9章类和模块:分9节,前面8节都是在讲类相关的知识,最后一节讲 ...

  7. Java中的局部代码块、构造代码块、静态代码块

    局部代码块: 作用:控制变量的生命周期: 在程序中,当我们已经使用完 x 后,并且在接下来的代码中,不会再用到x,那么就没必要让x 在内存中占用空间了,这用情况下,可以使用 局部代码块,将x及其所设计 ...

  8. 敏捷软件开发模型--SCRUM

    敏捷软件开发模型--SCRUM 一 什么是Scrum?Scrum (英式橄榄球争球队), 软件开发模型是敏捷开发的一种,在最近的一两年内逐渐流行起来. Scrum的基本假设是: 开发软件就像开发新产品 ...

  9. wxWidgets搜索事件处理函数顺序

    详细参见:使用wxWidgets进行跨平台程序开发 (王强 译) 实例: class MyFrame:public wxFrame { public: MyFrame() { wxButton* bu ...

  10. 基于Equinox构建OSGi项目

    几种OSGi框架 Several independently implemented OSGi frameworks exist today, including four that are avai ...