Canvas怎样修改线条的宽度、颜色和形状?

yumo6668个月前 (05-03)技术文章48

在Canvas中,线的默认颜色为黑色,宽度为lpx,但我们可以使用相关属性为线添加不同的样式。下面我们将从宽度、描边颜色、端点形状3方面详细讲解线条样式的设置方法。

1.设置线条宽度

使用lineWidth属性可以定义线的宽度,该属性的取值为数值(不带单位),以像素为计量。设置线的宽度的示例代码如下:

context.lineNidth='10';

上述代码中设置了线的宽度为10。

2.设置描边颜色

使用strokeStyle属性可以定义线的描边颜色,该属性的取值为十六进制颜色值或颜色的英文名。设置描边颜色的示例代码如下:

context.strokeStyle='4f00';
context.strokeStyle='red';

在上述代码中,两种方式都可以用于设置线的描边颜色为红色。

3.设置端点形状

默认情况下,线的端点是方形的,通过lineCap属性可以改变端点的形状,示例代码如下:

context.1ineCap=,属性值';

lineCap属性的取值有3个,具体如表所示。

lineCap属性的取值

了解了设置线的样式的基本方法后,下面演示如何为线设置样式。

(1)创建C:icodekchapter02\demol3.html,创建画布并为线设置宽度、颜色和端点形状,具体代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <canvas id="cas" width="300" height="300">
     您的测览器不支持Canvas标签
  </canvas>
  <script>
   var context=document.getElementById('cas').getContext('2d');
   context.moveTo(10,10);          // 定义初始位置
   context.1ineTo(300,10);         // 定义连线端点
   context.lineWidth='10';         // 设置线的宽度
   context.strokeStyle='red';      // 设置线的颜色
   context.lineCap='round';        // 设置线的端点形状
   context.stroke();               // 定叉描边
  </script>
</body>
</html>

上述代码中,第15行代码设置了线的宽度为10像素:第16行代码设置了线的颜色为红色;第17行代码设置了线的端点为圆形。

(2)保存代码,在浏览器中测试,页面效果如图所示。

页面显示一条红色的线,说明我们已经成功为线设置了样式。

相关文章

CSS常用十六进制颜色代码对照表(十六进制颜色代码原理)

我们在做网页时,经常会用到十六进制颜色代码,一个漂亮的网页,它的颜色搭配必定有讲究,下表是一些常用的颜色及十六进制颜色代码对照,记录在此,以便查阅!...

生成引人注目色彩的小型Javascript脚本——randomColor

介绍randomColor是一个生成随机颜色的JavaScript脚本,对于写代码的我们来说,生成一个随机颜色或许并不复杂,但是想要生成一个比较吸引人的随机颜色可能是需要花费一番功夫的,但如果已经有人...

HTML 标签和属性值的基本格式(html标签及属性大全百度资源)

HTML: HyperText Markup Language 超文本标记语言HTML代码不区分大小写, 包括HTML标记、属性、属性值都不区分大小写;任何空格或回车键在代码中都无效,插入空格或回车有...

教你如何用CSS修改图片颜色(css改变背景图片颜色)

看到题目是不是吓了一跳?css竟然还有这个操作?还真是第一次听说~原理嘛,其实很简单的,用到的就是 CSS3 滤镜filter中的drop-shadow,该滤镜可以给图片非透明区域添加投影。你可以理解...

CSS 颜色体系详解(css颜色有几种表示方式)

说到 CSS 颜色,相比大家都不会陌生,本文是我个人对 CSS 颜色体系的一个系统总结与学习,分享给大家。先用一张图直观的感受一下与 CSS 颜色相关大概覆盖了哪些内容。接下来的行文内容大概会按照这个...

45个颜色网站,设计师必备指南(推介几个有颜色的网站)

颜色搭配不知所措?颜色参考找不到心仪网站?来!收下这份全面的色彩网址吧!配色是设计中非常重要的部分,好的配色不仅可以让我们的设计更加出彩,还能对用户产生情感影响,相信这些网站一定能对你们有所帮助~1....