首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pycairo诉cairocffi诉Qahirah

Pycairo诉cairocffi诉Qahirah
EN

Stack Overflow用户
提问于 2022-03-14 16:18:46
回答 1查看 314关注 0票数 2

我想用Python创建矢量图形并对其进行栅格化。我怀疑Pycairocairocffi (编辑:或Qahirah)是一个很好的选择。(如果不是,欢迎评论。)

两者之间的实际区别是什么?

具体来说,文档说:

如果Pycairo不是您所需要的,请看一下cairocffi,它是一个使用cffi或Qahirah的与API兼容的包,它使用ctype,并提供了一个更"pythonic“的API,而不太关注与cairo C API的匹配。

但这提出了一些问题:在什么情况下,皮卡洛可能“不是你所需要的”,而凯洛茨菲呢?cffi/Qahirah/ctypes在哪些方面比Pycairo所做的更好?皮卡洛在什么方面不是“琵琶”?如果菜鸟比皮卡洛好,为什么皮卡洛更受欢迎,它有优势吗?

编辑: 在"cffi“之后可能缺少逗号。在上面的引文中。在这种情况下,它不是关于"Pycairo‘s“,而是关于"Pycairo’s‘s”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-15 14:44:40

模仿C意味着函数采用简单的参数。例如,move_to函数/方法如下所示:

代码语言:javascript
运行
复制
ctx.move_to(x: float, y: float)→ None

如果您想在程序中使用(x,y)点或向量,那么在某个时候,您可能会对需要编写(例如,move_to(P[0], P[1]) )而不是只编写move_to(P)感到恼火。

在卡希拉,你写了这样的话:

代码语言:javascript
运行
复制
p = Vector(x, y)
ctx.move_to(p)

或者也许

代码语言:javascript
运行
复制
ctx.move_to(Vector(x, y))

甚至是

代码语言:javascript
运行
复制
ctx.move_to((x, y))

您可以将can看作是顶层的一个基本级别,可以构建更方便的API。

和往常一样,这是一种交换。使用直接样式的C API可能更快(但不多)。

更多信息可在“基地”自述报告中找到:

代码语言:javascript
运行
复制
https://github.com/ldo/qahirah 

再说一遍--如果您找到了使用C的Cairo教程,那么使用直接样式的Cairo可能会更容易。

试试它们,看看你喜欢什么。

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

https://stackoverflow.com/questions/71471000

复制
相关文章

相似问题

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