Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >画布绘制带边框的线条

画布绘制带边框的线条
EN

Stack Overflow用户
提问于 2020-06-30 13:13:13
回答 2查看 249关注 0票数 0

我需要画一条线,并给它一个边界。

我试着画了两条线,一条是5px,另一条是3px以上。

但这看起来并不是真正的边界

代码语言:javascript
运行
AI代码解释
复制
const ctx = canvas.getContext('2d');
const path = new Path2D();

ctx.strokeStyle = "black";
ctx.lineWidth = 5;

path.moveTo(40, 40);
path.lineTo(50, 35);
path.lineTo(60, 40);

ctx.stroke(path);

ctx.strokeStyle = "red";
ctx.lineWidth = 3;

path.moveTo(40, 40);
path.lineTo(50, 35);
path.lineTo(60, 40);

ctx.stroke(path);
代码语言:javascript
运行
AI代码解释
复制
<canvas id=canvas width=100 height=100></canvas>

有没有更好的方法来画一条线的边框?

EN

回答 2

Stack Overflow用户

发布于 2020-07-01 01:20:30

尝试在外部行设置"endCap“:

代码语言:javascript
运行
AI代码解释
复制
const ctx = canvas.getContext('2d');
const path = new Path2D();

ctx.strokeStyle = "black";
ctx.lineWidth = 5;
ctx.lineCap = "butt"; // butt  round  square <-- other options

path.moveTo(40, 40);
path.lineTo(50, 35);
path.lineTo(60, 40);

ctx.stroke(path);

ctx.strokeStyle = "red";
ctx.lineWidth = 3;

path.moveTo(40, 40);
path.lineTo(50, 35);
path.lineTo(60, 40);

ctx.stroke(path);

请参阅:https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineCap

票数 1
EN

Stack Overflow用户

发布于 2020-06-30 23:10:25

您可以尝试使用shadow:

代码语言:javascript
运行
AI代码解释
复制
const ctx = canvas.getContext('2d');

function drawPath(path) {
  ctx.lineWidth = 3;
  ctx.strokeStyle = "red";
  ctx.shadowColor = 'black';

  for (i = 0; i <= 360; i += 10) {
    a = i * Math.PI / 180
    ctx.beginPath();
    ctx.shadowOffsetX = 4 * Math.sin(a)
    ctx.shadowOffsetY = 4 * Math.cos(a)
    ctx.stroke(path);
  }
}

const path = new Path2D();
path.moveTo(20, 40);
path.lineTo(50, 35);
path.lineTo(80, 40);
path.lineTo(80, 80);
path.lineTo(160, 80);
drawPath(path);
代码语言:javascript
运行
AI代码解释
复制
<canvas id=canvas width=200 height=100></canvas>

这个想法是用一个稍微不同的偏移量在你的path对象周围绘制...同样的逻辑也可以用于图像:

https://raw.githack.com/heldersepu/hs-scripts/master/HTML/canvasOutline.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62658299

复制
相关文章
canvas简单线条的绘制
1.绘制线条之前首先进行声明线条开始绘制代码context.beginPath;说明:context是画板中获得的绘画环境上述的是cv
十月梦想
2018/08/29
9580
canvas画布实现矩形的绘制
绘制一个实心矩形cv.fillRect(x,y,width,height)绘制之前声明绘制的实心矩形颜色使用fillStyle
十月梦想
2018/08/29
2.6K0
bootstrap 表格 带边框
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
用户5760343
2022/01/10
1.1K0
bootstrap 表格 带边框
软件测试|超好用超简单的Python GUI库——tkinter(十四)
我们知道我们可以使用pillow绘制不同形状的图形,但是我们能不能使用tkinter实现这个功能呢,当然可以,tkinter也可以实现图形的绘制,并且可以将绘制的图形添加到我们的GUI中。
霍格沃兹测试开发Muller老师
2023/06/02
9920
巧妙实现带圆角的渐变边框
border-image 是 CSS 规范 CSS Backgrounds and Borders Module Level 3 (最新一版的关于 background 和 border 的官方规范) 新增的一个属性值。
Sb_Coco
2020/02/21
7.1K1
巧妙实现带圆角的渐变边框
IOS – OpenGL ES 绘制线条 GPUImageLineGenerator
GPUImageLineGenerator 属于 GPUImage 图像处理相关,用来处理图片线条效果,shader 源码如下:
猿说编程[Python和C]
2023/03/25
5340
Canvas两点连线及多点连线
使用html5 Canvas绘制直线所需的CanvasRenderingContext2D对象的主要属性和方法(有”()”者为方法)如下:
javascript.shop
2019/09/04
9.4K0
H5-使用canvas绘制
canvas标签用于绘制图画,它是通过js来实现图画的绘制,这里将学习一下其基本用法。 首先,创建一个画布,这样我们就可以在上面进行创作了。
kdyonly
2023/03/03
9240
WPF 绘制对齐像素的清晰显示的线条
发布于 2017-12-12 13:49 更新于 2018-08-13 12:47
walterlv
2018/09/18
1.6K0
WPF 绘制对齐像素的清晰显示的线条
IOS开发 图形绘制,绘制线条,矩形,和垂直和居中绘制文字
假设把上面的方法放入到一个类 DrawUtil 中,我们可以通过 DrawUtil 来调用方法。
张云飞Vir
2020/03/16
1.8K0
用Python绘制棒棒糖图表,真的好看!
此外还可以调整lw、markersize参数,定义线条的粗细及标记的大小,甚至可以绘制两次线条以创建轮廓效果。
咋咋
2021/09/01
1.3K0
用Python绘制棒棒糖图表,真的好看!
canvas知识点
HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成. <canvas> 标签只是图形容器,您必须使用脚本来绘制图形。 你可以通过多种方法使用Canva绘制路径,盒、圆、字符以及添加图像。
HUC思梦
2020/09/03
8920
用Python绘制棒棒糖图表,真的好看!
此外还可以调整lw、markersize参数,定义线条的粗细及标记的大小,甚至可以绘制两次线条以创建轮廓效果。
小F
2021/05/17
1.5K0
用Python绘制棒棒糖图表,真的好看!
Canvas网页涂鸦板再次增强版
点击这里 http://qkongtao.cn//file/graffiti.html
不愿意做鱼的小鲸鱼
2022/09/24
1.3K0
Canvas网页涂鸦板再次增强版
flutter画布绘制图片和文字
本节目标: [1]. 了解如何获取 [ui.Image] 对象。 [2]. 将一张图片使用 Canvas 绘制出来。 [3]. 知道如何从图片中取出部分图片绘制到指定矩形域中。 [4]. 了解 Canvas 绘制图集的操作。 [5]. 如何在 Canvas 中绘制文字,并完善坐标系刻度。 ---- 一、图片绘制: image-20201030110334887 绘制图片需要的是 ui.Image,需要异步加载,这里用 loadImageFromAssets 处理。 PaperPainter 接收 u
用户1974410
2022/09/20
2.6K0
flutter画布绘制图片和文字
Python+matplotlib绘制海螺贝壳上美丽的线条
在海洋中的亿万只海螺中,大部分都是右旋螺纹,从底部看的话海螺开口在右边,如下图所示:
Python小屋屋主
2019/05/15
1.5K0
手写原生代码专题 | 简易手写画板(二)
如视频所示,在这个示例中,我们用到了画布 canvas 相关的知识,比如创建画布、画圆形、画直线的基础知识,有了这些基础后,我们就能轻松完成本示例,示例效果如下视频所示。
前端达人
2021/07/16
1.5K0
点击加载更多

相似问题

绘制带边框的线条

12

Java绘制带边框的线条

11

画布中带渐变的线条绘制

122

在画布android中绘制带边框的文本

14

使用画布绘制线条

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档