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线条笔帽及连接的更多相关文章

  1. canvas线条实践之运动的正方形

    原理说明: 1.通过rect实现正方形的绘制: 2.save保存canvas面板的保存,restore回复保存的canvas面板到初始状态: 3.translate用于改变canvas坐标的起始位置: ...

  2. canvas线条的属性

    一.线条的帽子lineCap 取值:butt(默认值),round圆头,square方头 var canvas=document.getElementById("canvas"); ...

  3. 基于canvas线条绘制图形

    原理说明 绘制一个正方形,正放心每条边等比例均分,具体分配多少根据自身情况而定,按照最上边边顺时针方向依次绘制线条,相邻两条边上的点依次连接,知道所有的点全部连接完便绘制完成. 示例效果图图如下 具体 ...

  4. canvas 线条不清楚的问题

    对于canvas 画出的1px线条不清楚的问题, 一般是坐标点+0.5像素的问题, 但是有时要考虑viewpoint的问题,让canvas的width = 980,同时viewpoint = 980 ...

  5. canvas绘图详解笔记之线条及线条属性

    创建 canvas 首先创建一个canvas元素,我们只需要在html文件中加入这么一句代码: <canvas id="canvas">当前浏览器不支持canvas,请 ...

  6. html5+Canvas实现酷炫的小游戏

    最近除了做业务,也在尝试学习h5和移动端,在这个过程中,学到了很多,利用h5和canvas做了一个爱心鱼的小游戏.点这里去玩一下 PS: 貌似有点闪屏,亲测多刷新两下就好了==.代码在本地跑都不会闪, ...

  7. canvas基本

    基本 支持ie 9+,firefox,opera,chrome,safari html: <canvas id="fir_canvas" width="400&qu ...

  8. Android核心分析之二十八Android GDI之Surface&Canvas

    Surface&Canvas Canvas为在画布的意思.Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装.drawPaints ,drawPoi ...

  9. HTML5 Canvas ( 线段的绘制 ) beginPath, moveTo, strokeStyle, stroke

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

随机推荐

  1. IntelliJ IDEA 添加类注释模板

    效果展示 /** * Created with IntelliJ IDEA * USER:jacun * CLASSNAME: HalloWorldController * DATE: 2019/1/ ...

  2. Oracle视图传递参数

    在Oracle里,视图不像存储过程和函数一样,可以定义输入参数,但我们可以变个方式,使用程序包来实现. oracle package: oracle package是oracle包,是一组相关过程.函 ...

  3. ubuntu下使用free命令查看内存实际占用(待补充)

    free不带选项运行会显示一个以kb为单位的默认输出 free -h人类能看懂的方式显示 free -m MB的方式显示 free -g GB方式显示 used=total-free即total=us ...

  4. 图片加载ImageLoader

    https://github.com/nostra13/Android-Universal-Image-Loader public class AtguiguApplication extends A ...

  5. js之Date(日期对象)

    通过日期对象我们可以进行一些对日期时间的操作处理 一.日期对象的创建: var myDate=new Date() 二.Date对象方法: Link:http://www.w3school.com.c ...

  6. bigdecimal类型除法问题

    坑:bigdecimal类型做除法运算时,结果为整数或有限小数时候不存在问题,若结果无法整除,为无限小数时报错 错误代码: Bigdecimal  b = a.divide(c).setScale(5 ...

  7. poj 1419Graph Coloring 【dfs+补图+计算最大团+计算最大独立集 【模板】】

    题目地址:http://poj.org/problem?id=1419 Graph Coloring Time Limit: 1000MS   Memory Limit: 10000K Total S ...

  8. Spring Cloud之服务治理(注册发现)

    服务治理SpringCloud Eureka 什么是服务治理 在传统rpc远程调用中,服务与服务依赖关系,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用.负载均衡.容 ...

  9. EntityFramework 学习 一 DBEntityEntry

    DbEntityEntry是一个重要的类,用来获取各种各样的实体信息 可以通过DBContext的Entry方法获取DbEntityEntry的实例 DBEntityEntry studentEntr ...

  10. Hive报错 Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D

    报错信息如下 Failed with exception java.io.IOException:java.lang.IllegalArgumentException: java.net.URISyn ...