问题标签 [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 回答
1691 浏览

python - 使用 Cairo 绘制 GTK Pixbuf 的效率

所以,我想使用 PyCairo 绘制图像。效率非常重要,但我正在使用 PyGtk 的 gtk.gdk.Pixbuf 加载图像。我的问题是,通过 gtk.gdk.CairoContext 检索 Cairo 上下文与将 Pixbuf 转换为 cairo.ImageSurface 对象来渲染 Pixbuf 是否存在性能差异,如果是,差异有多大?这是在一个单独的绘图线程中运行的,该线程每秒更新 30 次左右(尽管仅在图像需要更新时)。请注意,转换只会运行一次。

对比

0 投票
1 回答
433 浏览

python - 尝试在 mac 10.8 上构建 pycairo

我有两个 Python 安装。操作系统自带的和我手动下载安装的都是2.7。

我手动下载的是我的默认 Python。which python返回

/Library/Frameworks/Python.framework/Versions/2.7/bin/python

我已经手动安装了 Cairo。

然后我下载了py2cairo,进入目录并运行./waf configure,然后返回......

但是后来我尝试做的乳清./waf build,我收到了这个错误

有任何想法吗?

0 投票
1 回答
1197 浏览

python - 从 SVG 文件创建 cairo 路径

一定有什么我错过了。

我在 Windows 上,想使用 python 从 SVG 文件中获取路径,将它们缩放到一个新的表面(或全部在一个,这并不重要)。

我在这里stackoverflow 上阅读了有关 cairo的信息,在我看来,它可以满足我的需求,但我找不到从 svg 文件生成路径的简单方法。没有比手动解析 SVG 更简单的解决方案吗?用xml?

0 投票
5 回答
23414 浏览

python - ubuntu下安装pycairo

出于某种原因,我无法让 python 找到 cairo。

当我做 ./waf 配置时,我得到了

所以接下来我运行了./waf install。

试过了

现在我很困惑下一步该做什么。我检查了 /usr/local/lib/python2.7/site-packages 它在那里,但那是那里唯一的包。我还注意到“dist-packages”,我认为这是它应该去的地方?

任何帮助是极大的赞赏。

0 投票
1 回答
5028 浏览

python - 如何使用 easy_install 为 Apple 构建的 Python 2.7 安装 pycairo

我想在 Mac OSX Lion 上为 Cairo 安装 Python 绑定,以便可以将它们与 Apple 构建的 Python 2.7 一起使用。我倾向于使用 安装 Python 模块等easy_install,但在这种情况下似乎不起作用:

Stack Overflow 上的其他地方也有人问过类似的问题,但答案并不能解释我在这里做错了什么。

这个问题与 Python 2.6 有关,接受的答案使用 Macports 而不是easy_install,而另一个答案似乎是建议使用我上面尝试过的方法(但失败了):

你如何在 Mac OS X 上安装 pycairo?

这个问题与从源代码构建pycairo有关,我不想这样做:

如何在 osx 上安装 pycairo?

0 投票
1 回答
818 浏览

python - 开罗,ImageSurface:无法获得正确的 Alpha 混合

我在 Ubuntu 12.04 上使用 pycairo(实际上是 cairocffi)。系统上的库是 cairo 1.10。我创建了一个空的 ImageSurface,具有 ARGB32 格式。例如,如果我尝试填充一个半透明的白色矩形 (RGBA(1,1,1,0.5)),我会看到一个半透明的灰色矩形。

这对于在半透明背景上绘制的每个半透明像素都是一样的:似乎 cairo 认为与透明像素混合与与黑色像素混合是一样的......同样的问题适用于绘制的抗锯齿形状透明表面:它们有黑色的意想不到的边界。

没有提到这种行为,无处可去。所以我想知道,这是 cairo 的预期行为吗?我怎样才能解决这个问题 ?

0 投票
1 回答
899 浏览

python-2.7 - 在开罗使用网格渐变为路径着色

我是这种编程方法的新手,因为我真的不关心硬核图形生成。我使用 python 设计、编写、运行和研究参数化气候模型。但是,最后,我遇到了一个可视化问题。

我在 Cairo 库中寻找一些东西,它允许我将线性渐变映射到任意曲线(不一定是圆周)上,这样我的路径上的颜色(或阴影)或多或少会平滑变化。然后我一直在寻找一些模式,我终于发现也许开罗的网格渐变是解决方案。

但是,我无法使用 cairo.pattern_create_mesh() 从我的 python 脚本创建新的网格渐变!

因此,我的问题是:我如何在开罗使用网格渐变?有没有其他简单的方法可以用开罗做我想做的事情(我不知道,比如通过参数化从线段到曲线的简单映射,我知道我问的太多了)?

0 投票
1 回答
1254 浏览

python - 使用 Pango 和 Cairo (Pycairo) 将线条与宽度相匹配

我有几行文本,我希望每行都适合 Context 的宽度(缩放字体大小)。有没有办法做到这一点?我为此使用 pangocairo 和 python。

0 投票
2 回答
2372 浏览

image-processing - 我如何在 pycairo 中读取 svg 数据中风?

我有JPG图像和inputsvgdraw,一个用于图像注释的Flash工具(http://www.mainada.net/inputdraw),我可以在其上跟踪生成svg数据的线条。

svg 数据样本:

什么功能可以管理这些数据?

0 投票
0 回答
301 浏览

python - 如何在 DrawingArea 上绘制完整的 ImageSurface?

我正在开发一个 Python+Gtk+Cairo 应用程序。我的应用程序需要做一些非常复杂(且昂贵)的绘图。

出于性能原因,我首先在 ImageSurface(屏幕外)上绘制,然后在我的 DrawingArea 对象上绘制 ImageSurface 内容。

注意:我需要缩放/翻译我的图纸以使其可见;否则,大图纸会掉出窗外。

不幸的是,出了点问题:如您所见,我无法绘制 ImageSurface 的全部内容。通过使用“规范” Context.set_source_surface(imageSurface, xCoord, yCoord) Context.paint()

我只得到这个错误的输出:

是我想要达到的结果:

如何强制绘制整个图像表面?

下面的示例代码:

谢谢,它