canvas线条笔帽及连接
1) 线条笔帽篇:
1 function draw (id) {
2 var canvas = document.getElementById(id);
3 context = canvas.getContext("2d");
4 buttDemo();
5 roundDemo();
6 squareDemo();
7 }
8 function buttDemo (){
9 context.beginPath();
10 context.lineWidth = 10;
11 context.strokeStyle = "red";
12 context.lineCap = "butt";
13 context.moveTo(100, 100);
14 context.lineTo(200, 100);
15 context.stroke();
16 }
17 function roundDemo (){
18 context.beginPath();
19 context.lineWidth = 10;
20 context.strokeStyle = "green";
21 context.lineCap = "round";
22 context.moveTo(100, 200);
23 context.lineTo(200, 200);
24 context.stroke();
25 }
26 function squareDemo(){
27 context.beginPath();
28 context.lineWidth = 10;
29 context.strokeStyle = "blue";
30 context.lineCap = "square";
31 context.moveTo(100, 300);
32 context.lineTo(200, 300);
33 context.stroke();
34 }
生成的为:

2) 线条连接篇:
1 function draw (id){
2 var canvas = document.getElementById(id);
3 context = canvas.getContext("2d");
4 miterDemo();
5 roundDemo();
6 bevelDemo();
7 }
8 function miterDemo (){
9 context.beginPath();
10 context.lineWidth = 10;
11 context.strokeStyle = "red";
12 context.lineJoin = "miter";
13 context.moveTo(50,300);
14 context.lineTo(100,100);
15 context.lineTo(150,300);
16 context.stroke();
17 }
18 function roundDemo (){
19 context.beginPath();
20 context.lineWidth = 10;
21 context.strokeStyle = "green";
22 context.lineJoin = "round";
23 context.moveTo(150,300);
24 context.lineTo(200,100);
25 context.lineTo(250,300);
26 context.stroke();
27 }
28 function bevelDemo (){
29 context.beginPath();
30 context.lineWidth = 10;
31 context.strokeStyle = "blue";
32 context.lineJoin = "bevel";
33 context.moveTo(250,300);
34 context.lineTo(300,100);
35 context.lineTo(350,300);
36 context.stroke();
37 }
生成的为:

canvas线条笔帽及连接的更多相关文章
- canvas线条实践之运动的正方形
原理说明: 1.通过rect实现正方形的绘制: 2.save保存canvas面板的保存,restore回复保存的canvas面板到初始状态: 3.translate用于改变canvas坐标的起始位置: ...
- canvas线条的属性
一.线条的帽子lineCap 取值:butt(默认值),round圆头,square方头 var canvas=document.getElementById("canvas"); ...
- 基于canvas线条绘制图形
原理说明 绘制一个正方形,正放心每条边等比例均分,具体分配多少根据自身情况而定,按照最上边边顺时针方向依次绘制线条,相邻两条边上的点依次连接,知道所有的点全部连接完便绘制完成. 示例效果图图如下 具体 ...
- canvas 线条不清楚的问题
对于canvas 画出的1px线条不清楚的问题, 一般是坐标点+0.5像素的问题, 但是有时要考虑viewpoint的问题,让canvas的width = 980,同时viewpoint = 980 ...
- canvas绘图详解笔记之线条及线条属性
创建 canvas 首先创建一个canvas元素,我们只需要在html文件中加入这么一句代码: <canvas id="canvas">当前浏览器不支持canvas,请 ...
- html5+Canvas实现酷炫的小游戏
最近除了做业务,也在尝试学习h5和移动端,在这个过程中,学到了很多,利用h5和canvas做了一个爱心鱼的小游戏.点这里去玩一下 PS: 貌似有点闪屏,亲测多刷新两下就好了==.代码在本地跑都不会闪, ...
- canvas基本
基本 支持ie 9+,firefox,opera,chrome,safari html: <canvas id="fir_canvas" width="400&qu ...
- Android核心分析之二十八Android GDI之Surface&Canvas
Surface&Canvas Canvas为在画布的意思.Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装.drawPaints ,drawPoi ...
- HTML5 Canvas ( 线段的绘制 ) beginPath, moveTo, strokeStyle, stroke
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
随机推荐
- 图形数据库(GraphDB)
Date: 2016-01-27 Title: 图形数据库-1 Published: true Type: post Excerpt: Category: GraphDB 图形数据库(GraphDB) ...
- activiti--6-------------------------------------连线(一般数据库表的查询顺序)
一.流程图 二.这次把流程图和Java类放在一个包下 三.代码 package com.xingshang.f_sequenceFlow; import java.io.InputStream; im ...
- im协议设计选型【转】
一.im协议的分层设计所谓“协议”是双方共同遵守的规则,例如:离婚协议,停战协议.协议有语法.语义.时序三要素.(1)语法:即数据与控制信息的结构或格式(2)语义:即需要发出何种控制信息,完成何种动作 ...
- model特性
1.scope http://blog.csdn.net/lissdy/article/details/51107883 2.ActiveConcern http://www.tuicool.com/ ...
- sidekiq
redis-server 需要先被安装
- php添加或升级扩展模块步骤
php添加或升级扩展模块步骤: 1).下载对应扩展的稳定版源码包2).进入到解压后的源码包执行: sudo /usr/local/php/bin/phpize //对应安装到哪个php版本 sudo ...
- Maven项目结构
maven项目主体结构: 另外,Eclipse新建项目时会生成.project..classpath及.settings目录下的文件,这些文件用于描述一个Eclipse项目, 接下来做一个简要的解析: ...
- mutation与action
mutation 作用: 更改state的状态 说明: 每个mutation对象都有字符串类型(type)与回调函数,在回调函数内进行状态修改,回调函数的第一个参数为state eg: mutatio ...
- 20145229吴姗珊 《Java程序设计》两天小总结
20145229吴姗珊 <Java程序设计>两天小总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.从应用程序 ...
- 20165101刘天野 2018-2019-2《网络对抗技术》Exp6 信息搜集与漏洞扫描
目录 20165101刘天野 2018-2019-2<网络对抗技术>Exp6 信息搜集与漏洞扫描 1.实验内容 1.1 各种搜索技巧的应用 1.2 DNS IP注册信息的查询 1.3 基本 ...