HTML5 canvas 中的线条样式
线条样式属性
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 中的线条样式的更多相关文章
- [js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)
上文,写完弧度与贝塞尔曲线[js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具),本文主要是关于线条的样式设置 lineWidth: 设置线条的宽 ...
- [js高手之路] html5 canvas系列教程 - 文本样式(strokeText,fillText,measureText,textAlign,textBaseline)
接着上文线条样式[js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)继续. canvas提供两种输出文本的方 ...
- HTML5 Canvas中实现绘制一个像素宽的细线
正统的HTML5 Canvas中如下代码 ctx.lineWidth = 1; ctx.beginPath(); ctx.moveTo(10, 100); ctx.lineTo(300,100); c ...
- HTML5 Canvas ( 线段端点的样式 ) lineCap
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HTML5 Canvas 中的颜色、样式和阴影的属性和方法
颜色.样式和阴影的属性与方法 fillStyle 设置或返回用于填充绘画的颜色.渐变或模式 strokeStyle 设置或返回用于笔触的颜色.渐变或模式 ...
- html5 canvas中CanvasGradient对象用法
html5 中canvas提供了强大的渲染样式,可以实现一些比较复杂的样式设置,今天学习了CanvasGradient对象可以实现一个颜色的渐变 CanvasGradient对象可以实现两种不同形式的 ...
- HTML5 canvas中的路径方法
路径方法 fill() 填充当前绘图(路径) stroke() 绘制已定义的路径 begin ...
- HTML5 Canvas中9宫格的坑
近期小鸟情人游戏上了手机qq空间,一个3岁的游戏来了她的第二春.为了能有更好的表现,我们对其进行了一次改版. 改版当中一项就是对原来的弹出框样式进行改进.将大块木板材质改成纯色(边框为圆角金属材质)样 ...
- HTML5 Canvas中绘制椭圆的几种方法
1.canvas自带的绘制椭圆的方法 ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)是后来 ...
随机推荐
- Zend framework重定向的方法
zend framework重定向的方法有三种.render, forward, redirect.它们各自的用法是什么样子的呢?有什么区别呢? 一.render render是用来调视图用的,不会调 ...
- 解读sample3
说明 理解被测试代码 理解测试代码:test fixture简介 编写fixture class TEST_F宏 其他 不应该被忽略的注释 说明 被测试代码文件 sample3-inl.h 测试代码文 ...
- HDU5409---CRB and Graph 2015多校 双联通分量缩点
题意:一个联通的无向图, 对于每一条边, 若删除该边后存在两点不可达,则输出这两个点, 如果存在多个则输出第一个点尽可能大,第二个点尽可能小的. 不存在输出0 0 首先 若删除某一条边后存在多个联通分 ...
- hdu-1242 dfs+各种剪枝
思路: 可以和1010一个思路.这个抽象的说就是让你求给定图中两点的最短距离,其实dfs的题目能变化的地方就在“终点的回溯处”,在我们到达终点后,再判断一些附加的值(本题里是最短距离是否更新),从而得 ...
- 【树形动态规划】【CTSC1997】选课 解题报告
CTSC1997-选课 描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这 ...
- C - Courses - hdu 1083(模板)
一共有N个学生跟P门课程,一个学生可以任意选一 门或多门课,问是否达成: 1.每个学生选的都是不同的课(即不能有两个学生选同一门课) 2.每门课都有一个代表(即P门课都被成功选过) 输入为: P N( ...
- SKViedoNode类
继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) 框架 /System/L ...
- duilib DirectUI库里面的一个简单的例子RichListDemo
1.首先来看这里的CRichListWnd 已经不再是从CWindowWnd继承了 classCRichListWnd:publicWindowImplBase 从WindowImplBase中,可以 ...
- juce: 跨平台的C++用户界面库
如果你用过QT和MFC,那你必然知道QT是基于C++的跨平台库,而MFC是微软针对widows平台推出来基础类库.且不论MFC的设计如何,从我个人和身边朋友的经历来看,MFC是一些非常难以理解的类的组 ...
- SpannableString的一个奇怪的问题
今天使用spannableString遇到一个奇怪的问题,就是在setspan的时候,原本可以写成 spannableString.setSpan(new RelativeSizeSpan(0.5f) ...