canvas设置线条样式
canvas设置线条样式
合法属性和方法
lineWidth = value 设置线宽
lineCap = type 设置线端点样式
lineJoin = type 设置线交合处样式
setLineDash(segments) 设置虚线
lineDashOffset = value 设置虚线偏移
设置线宽

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();
设置线端点

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();
设置线交合

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();
设置虚线

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设置线条样式的更多相关文章
- 8-2 canvas专题-线条样式
8-2 canvas专题-线条样式 学习要点 对第五章知识进行简单的回顾和总结 进一步讲解canvas绘图相关的知识点 第八章内容介绍 在第八章中我们将对以前的知识进行简单的回顾,着重对canvas绘 ...
- HTML5 canvas 中的线条样式
线条样式属性 lineCap 设置或返回线条的结束端点样式 butt 默认.向线条的每个末端添加平直的边缘. round 向线条的每个末端添加圆形线帽. ...
- [js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)
上文,写完弧度与贝塞尔曲线[js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具),本文主要是关于线条的样式设置 lineWidth: 设置线条的宽 ...
- canvas学习笔记(中篇) -- canvas入门教程-- 颜色/透明度/渐变色/线宽/线条样式/虚线/文本/阴影/图片/像素处理
[中篇] -- 建议学习时间4小时 课程共(上中下)三篇 此笔记是我初次接触canvas的时候的学习笔记,这次特意整理为博客供大家入门学习,几乎涵盖了canvas所有的基础知识,并且有众多练习案例, ...
- canvas绘制线条详解
canvas详解----绘制线条 <!DOCTYPE html> <html> <head> <title>canvas详解</title> ...
- HTML5 canvas绘制线条曲线
HTML5 canvas入门 线条例子 1.简单线条 2.三角形 3.填充三角形背景颜色 4.线条颜色以及线条大小 5.二次贝塞尔曲线 6.三次贝塞尔曲线 <!doctype html> ...
- 使用html5 Canvas绘制线条(直线、折线等)
使用html5 Canvas绘制直线所需的CanvasRenderingContext2D对象的主要属性和方法(有"()"者为方法)如下: 属性或方法 基本描述 strokeSty ...
- C# 拓展ComboBox设置线条属性(转)
C# 拓展ComboBox设置线条属性目前由于项目需要,要实现线条属性设置的功能,就如Visio中点击线端时,可以弹出一个窗口设置线条的各种属性. 其中线条属性选择时,是在ComboBox控件中,显示 ...
- js设置css样式.
在js设置css样式做法 var obj = document.getElementById('div'); obj.style.width = '100px'; obj.style.height = ...
随机推荐
- Redis为什么要把所有数据放到内存中?
Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘.所以Redis具有快速和数据持久化的特性. 如果不将数据放到内存中,磁盘的I/O速度会严重影响redis的性能.在内 ...
- java中字面量,常量和变量之间的区别(附:Integer缓存机制)
一.引子 在各种教科书和博客中这三者经常被引用,今天复习到内存区域,想起常量池中就是存着字面量和符号引用,其实这三者并不是只在java中才有,各个语言中都有类似的定义,所以做一下总结,以示区分. 二. ...
- thinkphp3.2笔记(3)视图渲染 模板的赋值与显示 系统变量
一 视图 1 视图渲染 渲染模板输出最常用的是使用display方法,调用格式:display('[模板文件]'[,'字符编码'][,'输出类型'])模板文件的写法支持下面几种:用法 描述不带任何 ...
- C++getline使用
C++getline使用 一.心得 getline(cin,s);多去看函数的使用默认说明 二.使用 getline(istream &in, string &s) 从输入流读入一行到 ...
- window下rabbitmq环境安装
最近项目想用个MQ来做业务分离,看了市面上众多产品,最后选了rabbitmq,理由很简单,对window的支持很到位(其实是公司的系列产品都是.net的). 安装方法什么的就不说了,直接到官网下载双击 ...
- 2016 CCPC Hangzhou Onsite
A:题意:n个格子排成一排,每个a[i],要求重排成k个,每个人数相同,合并两个和划分成两个(可以不等)都是花费为1,问最小花费 题解:从前往后贪心即可,由于哪个地方忘开ll,wa了,全改成ll就过了 ...
- 过滤器系列(二)—— Cuckoo filter
这一篇讲的是布谷过滤器(cuckoo fliter),这个名字来源于更早发表的布谷散列(cuckoo hash),尽管我也不知道为什么当初要给这种散列表起个鸟名=_= 由于布谷过滤器本身的思想就源自于 ...
- How to get the full error stack trace of SharePoint
博客地址 http://blog.csdn.net/foxdave SharePoint开发,怎么得到真实的详细错误信息. 大家在开发遇到页面报错需要提问的时候,先将详细错误信息获取到再提问,谢谢. ...
- New Concept English Two 6 13
$课文11 礼尚往来 105. I was having dinner at a restaurant when Tony Steele came in. 我正在一家饭馆吃饭,托尼.斯蒂尔走了进来. ...
- OutOfMemoryError系列(1): Java heap space
每个Java程序都只能使用一定量的内存, 这种限制是由JVM的启动参数决定的.而更复杂的情况在于, Java程序的内存分为两部分: 堆内存(Heap space)和 永久代(Permanent Gen ...