首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pycairo中的箭头

pycairo中的箭头
EN

Stack Overflow用户
提问于 2019-09-13 21:28:23
回答 1查看 414关注 0票数 2

我需要画一条有向线或箭头。

context.move_to (10,10) context.line_to(10,100)

这提供了一个无方向的行,但我需要一个箭头。我如何在pycairo中实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-13 21:46:03

由于没有内置箭头,您必须在几何上定义一个箭头。下面是如何实现的。

代码语言:javascript
运行
复制
arrow_length = 0.45
arrow_angle = math.pi/4
arrowhead_angle = math.pi/6
arrowhead_length = 0.3

ctx.move_to(0.5, 0.5) # move to center of canvas

ctx.rel_line_to(arrow_length * math.cos(arrow_angle), arrow_length * math.sin(arrow_angle))
ctx.rel_move_to(-arrowhead_length * math.cos(arrow_angle - arrowhead_angle), -arrowhead_length * math.sin(arrow_angle - arrowhead_angle))
ctx.rel_line_to(arrowhead_length * math.cos(arrow_angle - arrowhead_angle), arrowhead_length * math.sin(arrow_angle - arrowhead_angle))
ctx.rel_line_to(-arrowhead_length * math.cos(arrow_angle + arrowhead_angle), -arrowhead_length * math.sin(arrow_angle + arrowhead_angle))

ctx.set_source_rgb(0,0,0)
ctx.set_line_width(0.08)
ctx.stroke()

这将生成以下图像:

根据需要更改参数。

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

https://stackoverflow.com/questions/57924551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档