问题标签 [pycairo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1113 浏览

python - 在 OS X Lion 上安装 Cairo

当我尝试使用 Python 2.7.2 在 OS X Lion 上安装 Cairo 时,它不起作用,我可以构建和安装它,但是在 python 中导入 cairo 时找不到它。我已经尝试了如何在 Mac OSX 上默认安装 PyCairo 1.10,它只会产生这个错误

0 投票
1 回答
1063 浏览

python - 使用 Cairo/Pycairo SVG 生成 Inkscape 组/图层?

我希望能够将对象(填充的矩形、轮廓等)添加到 cairo SVG 上下文中,这样当我用 Inkscape 打开 SVG 文件时,每个对象都会被识别为一个单独的对象,这样我就可以移动/编辑它。理想情况下,我还想对在 Inkscape 中显示为“图层”的对象进行分组。

这是否可以通过 cairo API 来完成(在某种程度上),还是我必须单独生成每个元素,然后将它们全部拼接成 Inkscape SVG 格式?也许 cairo 不是这里的正确工具?那么最好的方法是什么?

0 投票
1 回答
368 浏览

c++ - 'PyCObject_Import("cairo", "CAPI")' C++ 调用产生段错误,'import cairo' 在 python 上工作

我正在运行 OSX Lion 并尝试使用 python2.7为goocanvas导入 python 模块。

我设法成功编译了 pygoocanvas-0.14.1,但是当我尝试import goocanvas通过 python2.7 控制台时,我得到了一个段错误。经过一些调试,我被引导到这段代码:

我发现当 goocanvas python 模块的 C++ 代码尝试通过PyCObject_Import("cairo", "CAPI"). 但是,如果我尝试通过 python2.7 控制台直接导入 cairo 模块import cairo,它可以工作。

我应该如何进行?我有一个盲目的段错误,不知道为什么会发生。记住我设法编译了 python goocanvas 模块,但是在尝试将它导入 python 时它会出现段错误。

0 投票
6 回答
29979 浏览

python - 在 virtualenv 中安装 pycairo

我尝试安装pycairo在 virtualenv 中以在 Django 项目中使用。我已经运行了pip install pycairo==1.10.0找到包并下载它的命令,这与其他命令(如pip install pycairo等)不同,但是在开始安装包时会引发错误。

这是日志:

你能给我一些关于该怎么做的提示吗?我应该尝试为包编写一个 setup.py 文件,然后尝试安装它吗?(我不确定它甚至是一个解决方案,我仍在试图弄清楚我能做什么)。

提前致谢!

0 投票
1 回答
447 浏览

python - 在 PyGame (SDL) 中使用 Cairo 时的字节顺序

我目前有一些使用 pycairo 绘制并通过 PyGame 呈现到 SDL 表面的代码。这在 Linux 和 Windows 上运行良好,但 Mac 让我头疼。一切都只是蓝色或粉红色字节顺序似乎是 BGRA 而不是 ARGB,我尝试使用 pygame.Surface.set_masks 和 set_shifts 无济于事。这仅在 mac (osx 10.6) 上被破坏:

我可以通过阵列切片或使用 PIL 来修复它,但这会降低我的帧速率。有没有办法就地或通过设置做到这一点?

0 投票
1 回答
1368 浏览

qt - 在 python3 中使用 cairo 进行矢量动画的示例

我想使用pycairo和显示一些简单的游戏/交互式矢量图python3

我认为我还需要一个“小部件工具包”来管理创建窗口本身,因为我认为pycairo不能单独完成该部分(它只会将输出保存到文件中)。

我研究过PySide(基于Qt,似乎很复杂)和gi(基于 gtk3 我猜,甚至有gi-cairo但找不到教程或示例)。我真的不知道如何将它们与pycairo.

我听说过pygame但似乎不受支持python3(至少我没有出现在 apt 中的 python3-pygame)。

我可以有一个使用pycairowithpython3和一些标准窗口工具包来创建窗口并绘制一些简单动画的入门示例吗?

编辑:如果示例是动画的,则加分。

0 投票
1 回答
2868 浏览

python - 交换numpy数组的子数组

首先是一些上下文。

我正在尝试使用 Cairo(实际上是 pycairo)绘制 Gdk(实际上是 pygtk)pixbuf。我的原始代码如下所示:

有一段时间,看起来这只是工作,直到我尝试绘制颜色而不是黑色文本。事实证明,这两个库在字节顺序上存在分歧,如下所示:

结果是(从 pixbuf 传送到屏幕后)红色和蓝色通道交换的图像:-(

因此,如果我继续使用 pixbufs(如我所愿),我需要对数据进行后处理,每 1 个字节与每 3 个字节交换一次。我可以用普通的python做到这一点:

但我认为如果有一个用 C 编写的内置运算符,使用 numpy 可能会更快。像这样:

我只是在做梦吗?

0 投票
1 回答
1977 浏览

python - 使用 cairo 在 Python 中绘制大量圆圈

我目前正在开发一个应用程序,它使用视频投影仪来创建类似于真实激光的效果。可以在 Youtube 上看到我正在尝试存档的一个非常好的示例

基本上,该应用程序需要绘制各种颜色的简单移动形状。我有一个使用 pycairo 的非常复杂的设置,允许基元通过一组修改器来更改位置、缩放和旋转。这允许很大的灵活性。

不幸的是,pycairo 在画虚线圆方面似乎很慢。我试着画了 30 个这样的圆圈:

整个事情看起来像这样。这无法使用 Core2Duo 在 800x600 上维持 25fps。

有没有更快的画圆的方法?质量不是真正的问题。

谢谢你的帮助!

0 投票
1 回答
112 浏览

cairo - 为什么在将一个来源绘制到另一个来源时,我会得到错误的颜色

当我尝试以下操作时,我希望这两个图像是相同的,但它们不是!
我是这个开罗的新手,这让我发疯。

0 投票
1 回答
1381 浏览

python - osx上的pycairo安装错误

当我在 osx 上使用 easy_install 安装 pycairo 时,出现如下错误消息:

请帮帮我。提前致谢。