我想用Python创建矢量图形并对其进行栅格化。我怀疑Pycairo或cairocffi (编辑:或Qahirah)是一个很好的选择。(如果不是,欢迎评论。)
两者之间的实际区别是什么?
具体来说,文档说:
如果Pycairo不是您所需要的,请看一下cairocffi,它是一个使用cffi或Qahirah的与API兼容的包,它使用ctype,并提供了一个更"pythonic“的API,而不太关注与cairo C API的匹配。
但这提出了一些问题:在什么情况下,皮卡洛可能“不是你所需要的”,而凯洛茨菲呢?cffi/Qahirah/ctypes在哪些方面比Pycairo所做的更好?皮卡洛在什么方面不是“琵琶”?如果菜鸟比皮卡洛好,为什么皮卡洛更受欢迎,它有优势吗?
编辑: 在"cffi“之后可能缺少逗号。在上面的引文中。在这种情况下,它不是关于"Pycairo‘s“,而是关于"Pycairo’s‘s”。
发布于 2022-03-15 14:44:40
模仿C意味着函数采用简单的参数。例如,move_to函数/方法如下所示:
ctx.move_to(x: float, y: float)→ None如果您想在程序中使用(x,y)点或向量,那么在某个时候,您可能会对需要编写(例如,move_to(P[0], P[1]) )而不是只编写move_to(P)感到恼火。
在卡希拉,你写了这样的话:
p = Vector(x, y)
ctx.move_to(p)或者也许
ctx.move_to(Vector(x, y))甚至是
ctx.move_to((x, y))您可以将can看作是顶层的一个基本级别,可以构建更方便的API。
和往常一样,这是一种交换。使用直接样式的C API可能更快(但不多)。
更多信息可在“基地”自述报告中找到:
https://github.com/ldo/qahirah 再说一遍--如果您找到了使用C的Cairo教程,那么使用直接样式的Cairo可能会更容易。
试试它们,看看你喜欢什么。
https://stackoverflow.com/questions/71471000
复制相似问题