`

CanvasRenderingContext2D.lineCap属性用法及示例

阅读更多

CanvasRenderingContext2D.lineCap属性用于指定线段的两端以何种方式结束。

CanvasRenderingContext2D对象是HTML5 Canvas中的核心对象。

CanvasRenderingContext2D.lineCap属性的取值(字符串)有以下几种:

lineCap属性值 描述
butt 默认值没有线帽,实际长度与宽度和设置的值一致。
round 半圆形线帽。以半圆形绘制线段两端的线帽,半圆的直径等于线条的宽度。
square 矩形线帽。以矩形绘制线段两端的线帽,两侧扩展的宽度各等于线条宽度的一半。

这个属性只有在线条比较宽的时候才有效(即lineWidth属性值较大)。上述语言描述可能让人难以理解,在这里,我们以具体的示例来比较lineCap属性设为不同值时的显示效果。

lineCap属性的3种设置效果的比较lineCap属性的3种设置效果的比较

此外,你也可以直接使用产生上述图片效果的html代码在支持HTML5的浏览器上运行,以查看本地的实际效果。

<!DOCTYPE html>
<html>
<head>
<metacharset="UTF-8">
<title>比较lineCap属性的不同设置效果</title>
</head>
<body>
<!-- 添加canvas标签,并加上红色边框以便于在页面上查看效果 -->
<canvasid="myCanvas"width="400px"height="300px"style="border:1px solid red;">
您的浏览器不支持canvas标签。
</canvas>
<scripttype="text/javascript">
//获取Canvas对象(画布)
var canvas = document.getElementById("myCanvas");
//获取对应的CanvasRenderingContext2D对象(画笔)
var ctx = canvas.getContext("2d");
//注意,Canvas的坐标系是:Canvas画布的左上角为原点(0,0),向右为横坐标,向下为纵坐标,单位是像素(px)。
//绘制一条lineCap为butt的线段
ctx.beginPath();
ctx.moveTo(20,50);
ctx.lineTo(100,50);
ctx.strokeStyle ="#00f";
ctx.lineWidth =20;
ctx.lineCap ="butt";
ctx.stroke();
ctx.closePath();
//绘制一条lineCap为round的线段
ctx.beginPath();
ctx.moveTo(20,100);
ctx.lineTo(100,100);
ctx.strokeStyle ="#00f";
ctx.lineWidth =20;
ctx.lineCap ="round";
ctx.stroke();
ctx.closePath();
//绘制一条lineCap为square的线段
ctx.beginPath();
ctx.moveTo(20,150);
ctx.lineTo(100,150);
ctx.strokeStyle ="#00f";
ctx.lineWidth =20;
ctx.lineCap ="square";
ctx.stroke();
ctx.closePath();
</script>
</body>
</html>

 

 

 

.

分享到:
评论

相关推荐

    HarmonyOSOpenHarmony应用开发ArkTS画布组件CanvasRenderingContext2D对象总述

    此外,CanvasRenderingContext2D 还提供了多种绘图方法,如 `fillRect()`, `strokeRect()`, `fillText()`, `strokeText()`, `drawImage()` 等,用于绘制矩形、文本和图像。例如,`ctx.fillRect(x, y, width, height)...

    canvas线条的属性详解

    以下是一个示例,展示了这三种`lineCap`值的效果: ```javascript var canvas = document.getElementById("canvas"); canvas.width = 800; canvas.height = 800; var context = canvas.getContext("2d"); // 设置...

    正弦曲线的vb程序代码和exe完整文件

    最后,使用`Dispose()`方法释放不再使用的资源,以避免内存泄漏。 这个VB程序的可执行文件(exe)包含了所有必要的运行时信息,用户可以直接运行查看正弦曲线。为了生成exe文件,你需要将上述代码放入VB项目中,...

    Canvas2D introduction.pptx

    #### 二、Canvas2D的基本用法 在给定的示例代码中,首先通过`&lt;canvas id="c"&gt;&lt;/canvas&gt;`定义了一个 `&lt;canvas&gt;` 元素,并为其分配了ID `c`。接着通过 JavaScript 获取该元素,并调用 `getContext("2d")` 方法获取 2D...

    HTML5 canvas基本绘图之绘制线条

    3. 使用`CanvasRenderingContext2D`对象提供的方法进行图形绘制,比如绘制线条、填充形状、设置颜色等。 线条的绘制是`canvas`绘图的基础,涉及到的关键属性有`lineWidth`、`lineCap`、`lineJoin`和`miterLimit`。 ...

    C#093多种风格的直线端点 源代码

    Pen类是C#中用于创建线条的基本对象,它包含了很多属性来控制线条的外观,比如Color属性用于设置线条颜色,Width属性用来设置线条宽度,DashStyle属性可以改变线条的虚线样式,而LineCap属性则用于设置线条的端点...

    GDI+Pen.rar_GDI pen_gdi+

    `Pen.LineCap`属性可以设置为“无”(PenLineCap.None)、“方头”(PenLineCap.Flat)、“圆头”(PenLineCap.Round)等。线帽的形状影响线条的视觉结束效果。 - **线JOIN(Line Joins)**:线JOIN决定两条相交...

    Canvas 基础绘制

    以下所有 set 打头的方法均为微信小程序特有, 去掉 set 即为 CanvasRenderingContext2D 的属性名. .stroke() 描出当前路径  .setStrokeStyle(color) 设置路径颜色  .setLineWidth(Number lineWidth) 设置路径宽度...

    canvas封装方法增加点击移动效果配置颜色线条粗细功能

    // 使用示例 const config = new DrawingConfig(); config.updateConfig({ color: 'red', lineWidth: 3 }); drawWithAdvancedConfig(canvas.getContext('2d'), config); ``` 通过这样的封装,我们不仅能够实现点击...

    CircleProgress一个圆形进度条代码

    ### 四、使用方法 1. **添加依赖**: 在项目的`build.gradle`文件中引入`CircleProgress`库或者将源码导入项目。 2. **XML布局**: 在布局文件中添加`CircleProgress`标签,并设置相关属性。 ```xml &lt;com.example....

    h5实现时钟效果

    本示例中,我们关注的是如何使用Canvas来实现一个实时更新的时钟效果。这个时钟效果是通过在Canvas上绘制指针和数字来模拟真实时钟的运行。 首先,我们需要在HTML页面中创建一个`&lt;canvas&gt;`元素,为其指定ID以便后续...

    HTML5移动端画板涂鸦代码.zip

    5. 设置线条属性:如颜色(`context.strokeStyle = 'color'`)、线宽(`context.lineWidth`)和线条样式(`context.lineCap`等)。 6. 关闭路径并绘制:调用`context.stroke()`完成路径的绘制。 此外,项目中还包括...

    html5 canvas简洁的涂鸦画板代码

    6. **交互优化**:为了提升用户体验,我们可以添加一些交互优化,比如平滑线条(抗锯齿)通过设置`context.lineJoin`和`context.lineCap`属性,以及使用贝塞尔曲线(`context.bezierCurveTo()`)来使线条更加平滑。...

    Html5新特性用canvas标签画多条直线附效果截图

    若需要在canvas上进行绘制,首先需要通过JavaScript中的document.getElementById方法获取到canvas元素,然后使用getContext("2d")方法得到一个CanvasRenderingContext2D对象,该对象即为“画笔”,用于定义绘图的...

    canvas 如何绘制线段的实现方法

    通过JavaScript获取canvas元素后,需要调用getContext方法来获取画布的2D渲染上下文,以便进行绘制操作。 绘制线段前,需要设置线段的样式,如颜色、宽度和线端的形状。线段颜色可以通过strokeStyle属性来设置,...

    HTML5 canvas简洁涂鸦画板特效代码

    它的核心是`&lt;canvas&gt;`标签,通过JavaScript的`CanvasRenderingContext2D`对象,我们可以调用一系列方法来绘制线条、形状、图像等。 这个项目中的涂鸦画板实现,首先需要创建一个`&lt;canvas&gt;`元素,并设置其宽高。然后...

    js html5制作简易的时钟表代码

    var ctx = canvas.getContext('2d'); ``` 然后,定义一个函数来绘制时钟,包括时针、分针和秒针。我们需要计算每个指针的角度,然后根据角度来画线: ```javascript function drawClock() { var now = new Date()...

Global site tag (gtag.js) - Google Analytics