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

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

1.设置线条宽度

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

context.lineNidth='10';

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

2.设置描边颜色

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

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

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

3.设置端点形状

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

context.1ineCap=,属性值’;
lineCap属性的取值有3个,具体如表所示。

lineCap属性的取值

1693389996478_属性取值.png

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

(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)保存代码,在浏览器中测试,页面效果如图所示。

1693390529222_线的宽度.png

设置线的宽度、颜色和端点形状

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是利用createjs建立画板的代码和相应的事件处理函数: ```javascript // 创建 canvas 元素 var canvas = document.getElementById("canvas"); // 创建 stage 元素 var stage = new createjs.Stage(canvas); // 设置画笔颜色线条宽度 var color = "#000000"; var thickness = 2; // 创建一个形状对象 var shape = new createjs.Shape(); // 将形状添加到舞台上 stage.addChild(shape); // 鼠标按下事件处理函数 function handleMouseDown(event) { // 开始描画 shape.graphics.setStrokeStyle(thickness, 'round', 'round') .beginStroke(color) .moveTo(stage.mouseX, stage.mouseY); stage.addEventListener("stagemousemove", handleMouseMove); // 添加鼠标移动事件 } // 鼠标弹起事件处理函数 function handleMouseUp(event) { // 结束描画 stage.removeEventListener("stagemousemove", handleMouseMove); } // 鼠标移动事件处理函数 function handleMouseMove(event) { // 在鼠标经过的路径上画线 shape.graphics.lineTo(stage.mouseX, stage.mouseY); stage.update(); } // 改变画笔颜色线条宽度的按钮事件处理函数 function handleButton(event) { color = event.target.color; thickness = event.target.thickness; } // 导出画布内容的按钮事件处理函数 function handleExport(event) { var dataURL = canvas.toDataURL("image/png"); // 获取画布内容的 DataURL window.open(dataURL); // 在新窗口中打开 DataURL } // 添加事件监听器 canvas.addEventListener("mousedown", handleMouseDown); canvas.addEventListener("mouseup", handleMouseUp); document.getElementById("btn-black").addEventListener("click", handleButton); document.getElementById("btn-red").addEventListener("click", handleButton); document.getElementById("btn-green").addEventListener("click", handleButton); document.getElementById("btn-thick").addEventListener("click", handleButton); document.getElementById("btn-thin").addEventListener("click", handleButton); document.getElementById("btn-export").addEventListener("click", handleExport); ``` 需要注意的是,以上代码中的 HTML 元素(如 canvas、按钮等)需要根据实际情况进行定义和布局。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值