问题标签 [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 投票
2 回答
534 浏览

graphics - 如何“最适合”任意 cairo (pycairo) 路径?

似乎给出了其中的信息stroke_extents()和函数translate(x, y)scale(x, y)我应该能够采用任意的 cairo(我正在使用 pycairo)路径并“最适合”它。换句话说,将其居中并展开以填充可用空间。

在绘制路径之前,我已经对画布进行了缩放,使得原点为左下角,向上为 y+,右侧为 x+,高度和宽度均为 1。鉴于这些条件,这段代码似乎正确地缩放了路径:

我无法为我的生活弄清楚翻译。有没有更简单的方法?我怎样才能在画布上“最适合”开罗路径?

如果这个问题有任何不清楚的地方,请要求澄清。

0 投票
1 回答
435 浏览

python - 罕见的 PyCairo 抗锯齿直接获取表面数据

创建 Pycairo 上下文和表面(ImageSurface)后,如果我直接从表面缓冲区获取,我会得到不同的导出结果

或从 PNG 导出方法

上下文抗锯齿标志显然是相同的,是的,get_data 方法的结果具有抗锯齿,但质量要差得多。为什么?

谢谢。

0 投票
2 回答
2993 浏览

python - 如何使用开罗将文本保持在一个圆圈内?

我使用 Cairo(特别是 pycairo)绘制图形,我需要知道如何通过将文本保持在圆圈的边界内来在圆圈内绘制文本而不重叠它。我有这个简单的代码片段,它在圆圈内绘制一个字母“a”:

问题是我的标签有可变数量的字符(限制为 20),我需要动态设置字体的大小。无论圆圈大小或标签大小,它都必须适合圆圈内。此外,每个标签都有一行文本,没有空格,没有换行符。

有什么建议吗?

0 投票
2 回答
2303 浏览

python - 使用 Pycairo 动态生成图像并在 Django 中服务

我想用 Pycairo 生成一个动态创建的 png 图像并使用 Django 为它提供服务。我读到:使用 Django 提供动态生成的图像

有没有办法将 Pycairo 表面的数据直接传输到 HTTP 响应中?我现在正在这样做:

但它实际上不起作用,因为没有 to_rgba 调用(这个调用我发现使用谷歌代码但不起作用)。

编辑: to_rgba 可以替换为正确的调用 get_data(),但我仍然想知道我是否可以完全绕过 PIL。

0 投票
3 回答
2831 浏览

python - 开罗背景和持久性?

我刚刚开始使用 pycairo,遇到了以下有趣的错误。我编写的程序创建了一个简单的 gtk 窗口,在其上绘制一个矩形,然后有一个回调在任何类型的键盘输入上绘制一条随机线。但是,似乎对于每个键盘输入,我都必须创建一个新的上下文,或者在程序接收到第一个键盘输入的那一刻(特别是在 .stroke() 行上)出现错误。错误如下,如果重要的话。'BadDrawable(无效的像素图或窗口参数)'。(详情:serial 230 error_code 9 request_code 53 minor_code 0)

谢谢你的帮助!

(更新:我在玩,我意识到以下几点:当我调整窗口大小时,所有添加的新对象都会被删除(或者至少不再出现?))

0 投票
1 回答
2067 浏览

python - 安装py2cairo的步骤?

似乎 pycairo 早在 5 月就已分支到 py2cairo 的 2.x 版本。py2cairo 没有 pip 或 easy_install 安装选项。我已经获取了最新的 py2cairo tar,以及注册为依赖项的 cairo 1.8.10 包。当我首先尝试配置 cairo 时,它最后会出错,它需要 pkg-config。但是,我在 pip 或 easy_install 中也找不到 pkg-config 安装选项。我完全不知道如何安装 py2cairo。我在 Mac Snow Leopard 上执行此操作。

0 投票
3 回答
960 浏览

python - (py)cairo - 填充

有没有办法填充封闭路径(多边形)之外的所有内容?

背景:我想用海岸线渲染一些地图 - 所以有时我需要用蓝色填充大海,所以我认为用蓝色填充这个海岸线多边形之外的所有东西是最简单的,在我的情况下也是最有效的颜色。

提前致谢!

0 投票
2 回答
19751 浏览

python - pycairo "ImportError: DLL load failed: 找不到指定的模块。" 即使在安装 DLL 之后

我在这里遵循 pycairo 安装说明: http ://www.cs.rhul.ac.uk/home/tamas/development/igraph/tutorial/install.html 安装 pycairo 以与 igraph 一起使用。

但是,即使在按照说明运行安装程序并将所有 DLL 解压缩/复制到 site-packages cairo 目录之后,我仍然收到以下错误:

p>

我在 Windows 7 下运行 python 2.6.6。

有任何想法吗?

0 投票
2 回答
6620 浏览

python - 如何使用 PyGTK 和 PyCairo 在窗口中获得透明背景?

我一直在努力使用 PyGTK 创建一个没有装饰和透明背景的窗口。然后我会用开罗绘制窗口的内容。但我无法让它工作。

我尝试了很多不同的方法,但都失败了,这是其中之一

那么,最简​​单的方法是什么?

0 投票
1 回答
1157 浏览

python - 为什么 Cairo 弄乱了我的颜色?

我可以用surface.write_to_png它来让它工作,但我想知道是否有办法做到这一点而不必将其保存到文件中。我记得以前用过这个,但它是用于黑白图像的,这解释了为什么我以前没有问题。