canvas设置线条样式

  1. 合法属性和方法

    lineWidth = value           设置线宽
    lineCap = type 设置线端点样式
    lineJoin = type 设置线交合处样式
    setLineDash(segments) 设置虚线
    lineDashOffset = value 设置虚线偏移
  2. 设置线宽

    const canvas = document.getElementById('canvas');
    const ctx = canvas.getContext('2d'); ctx.lineWidth=1;
    ctx.beginPath();
    ctx.moveTo(50, 50);
    ctx.lineTo(100, 50);
    ctx.stroke(); ctx.lineWidth=2;
    ctx.beginPath();
    ctx.moveTo(50, 60);
    ctx.lineTo(100, 60);
    ctx.stroke(); ctx.lineWidth=3;
    ctx.beginPath();
    ctx.moveTo(50, 70);
    ctx.lineTo(100, 70);
    ctx.stroke(); ctx.lineWidth=4;
    ctx.beginPath();
    ctx.moveTo(50, 80);
    ctx.lineTo(100, 80);
    ctx.stroke(); ctx.lineWidth=5;
    ctx.beginPath();
    ctx.moveTo(50, 90);
    ctx.lineTo(100, 90);
    ctx.stroke();
  3. 设置线端点

    ctx.beginPath();
    ctx.lineCap="round";
    ctx.lineWidth=10;
    ctx.moveTo(50, 80);
    ctx.lineTo(100, 80);
    ctx.stroke(); ctx.beginPath();
    ctx.lineCap="butt";
    ctx.lineWidth=10;
    ctx.moveTo(50, 100);
    ctx.lineTo(100, 100);
    ctx.stroke(); ctx.beginPath();
    ctx.lineCap="square";
    ctx.lineWidth=10;
    ctx.moveTo(50, 120);
    ctx.lineTo(100, 120);
    ctx.stroke();
  4. 设置线交合

    ctx.beginPath();
    ctx.lineWidth=20;
    ctx.lineJoin="round";
    ctx.moveTo(50, 80);
    ctx.lineTo(150, 120);
    ctx.lineTo(250, 80);
    ctx.stroke(); ctx.beginPath();
    ctx.lineWidth=20;
    ctx.lineJoin="bevel";
    ctx.moveTo(50, 150);
    ctx.lineTo(150, 190);
    ctx.lineTo(250, 150);
    ctx.stroke(); ctx.beginPath();
    ctx.lineWidth=20;
    ctx.lineJoin="miter";
    ctx.moveTo(50, 220);
    ctx.lineTo(150, 260);
    ctx.lineTo(250, 220);
    ctx.stroke();
  5. 设置虚线

    var offset = 0;
    
    setInterval(() => {
    offset++;
    if (offset > 16) {
    offset = 0;
    } ctx.clearRect(0, 0, canvas.width, canvas.height);
    ctx.setLineDash([4, 2]);
    ctx.lineDashOffset = -offset;
    ctx.strokeRect(10, 10, 100, 100); }, 20)

canvas设置线条样式的更多相关文章

  1. 8-2 canvas专题-线条样式

    8-2 canvas专题-线条样式 学习要点 对第五章知识进行简单的回顾和总结 进一步讲解canvas绘图相关的知识点 第八章内容介绍 在第八章中我们将对以前的知识进行简单的回顾,着重对canvas绘 ...

  2. HTML5 canvas 中的线条样式

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

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

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

  4. canvas学习笔记(中篇) -- canvas入门教程-- 颜色/透明度/渐变色/线宽/线条样式/虚线/文本/阴影/图片/像素处理

    [中篇] -- 建议学习时间4小时  课程共(上中下)三篇 此笔记是我初次接触canvas的时候的学习笔记,这次特意整理为博客供大家入门学习,几乎涵盖了canvas所有的基础知识,并且有众多练习案例, ...

  5. canvas绘制线条详解

    canvas详解----绘制线条 <!DOCTYPE html> <html> <head> <title>canvas详解</title> ...

  6. HTML5 canvas绘制线条曲线

    HTML5 canvas入门 线条例子 1.简单线条 2.三角形 3.填充三角形背景颜色 4.线条颜色以及线条大小 5.二次贝塞尔曲线 6.三次贝塞尔曲线 <!doctype html> ...

  7. 使用html5 Canvas绘制线条(直线、折线等)

    使用html5 Canvas绘制直线所需的CanvasRenderingContext2D对象的主要属性和方法(有"()"者为方法)如下: 属性或方法 基本描述 strokeSty ...

  8. C# 拓展ComboBox设置线条属性(转)

    C# 拓展ComboBox设置线条属性目前由于项目需要,要实现线条属性设置的功能,就如Visio中点击线端时,可以弹出一个窗口设置线条的各种属性. 其中线条属性选择时,是在ComboBox控件中,显示 ...

  9. js设置css样式.

    在js设置css样式做法 var obj = document.getElementById('div'); obj.style.width = '100px'; obj.style.height = ...

随机推荐

  1. Redis为什么要把所有数据放到内存中?

    Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘.所以Redis具有快速和数据持久化的特性. 如果不将数据放到内存中,磁盘的I/O速度会严重影响redis的性能.在内 ...

  2. java中字面量,常量和变量之间的区别(附:Integer缓存机制)

    一.引子 在各种教科书和博客中这三者经常被引用,今天复习到内存区域,想起常量池中就是存着字面量和符号引用,其实这三者并不是只在java中才有,各个语言中都有类似的定义,所以做一下总结,以示区分. 二. ...

  3. thinkphp3.2笔记(3)视图渲染 模板的赋值与显示 系统变量

    一  视图 1  视图渲染 渲染模板输出最常用的是使用display方法,调用格式:display('[模板文件]'[,'字符编码'][,'输出类型'])模板文件的写法支持下面几种:用法 描述不带任何 ...

  4. C++getline使用

    C++getline使用 一.心得 getline(cin,s);多去看函数的使用默认说明 二.使用 getline(istream &in, string &s) 从输入流读入一行到 ...

  5. window下rabbitmq环境安装

    最近项目想用个MQ来做业务分离,看了市面上众多产品,最后选了rabbitmq,理由很简单,对window的支持很到位(其实是公司的系列产品都是.net的). 安装方法什么的就不说了,直接到官网下载双击 ...

  6. 2016 CCPC Hangzhou Onsite

    A:题意:n个格子排成一排,每个a[i],要求重排成k个,每个人数相同,合并两个和划分成两个(可以不等)都是花费为1,问最小花费 题解:从前往后贪心即可,由于哪个地方忘开ll,wa了,全改成ll就过了 ...

  7. 过滤器系列(二)—— Cuckoo filter

    这一篇讲的是布谷过滤器(cuckoo fliter),这个名字来源于更早发表的布谷散列(cuckoo hash),尽管我也不知道为什么当初要给这种散列表起个鸟名=_= 由于布谷过滤器本身的思想就源自于 ...

  8. How to get the full error stack trace of SharePoint

    博客地址 http://blog.csdn.net/foxdave SharePoint开发,怎么得到真实的详细错误信息. 大家在开发遇到页面报错需要提问的时候,先将详细错误信息获取到再提问,谢谢. ...

  9. New Concept English Two 6 13

    $课文11 礼尚往来 105. I was having dinner at a restaurant when Tony Steele came in. 我正在一家饭馆吃饭,托尼.斯蒂尔走了进来. ...

  10. OutOfMemoryError系列(1): Java heap space

    每个Java程序都只能使用一定量的内存, 这种限制是由JVM的启动参数决定的.而更复杂的情况在于, Java程序的内存分为两部分: 堆内存(Heap space)和 永久代(Permanent Gen ...