问题标签 [cairo]

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 投票
3 回答
4727 浏览

python - 为什么我的简单 python gtk+cairo 程序运行如此缓慢/结结巴巴?

我的程序在窗口上绘制圆圈。我想我一定错过了一些基本的 gtk/cairo 概念,因为对于我正在做的事情来说,它似乎运行得太慢/结结巴巴。有任何想法吗?谢谢你的帮助!

0 投票
1 回答
811 浏览

pdf - 使用 Cairo 和 pyPDF 对齐两个 PDF 以进行合并

我需要以编程方式将其他图形元素添加到现有的静态 PDF 书籍封面上。现在我使用 pycairo 在透明的 PDFSurface 上绘图,然后使用 pyPdf 将其合并到现有的静态 PDF 中。通过这种方式,PDFSurface 可以作为叠加层。

但是,透明 PDF 与静态 PDF 的 TrimBox 大小完全相同,因此比静态 PDF 小。如何将内容定位在透明 PDF 上,以便在合并后完全覆盖静态 PDF 的 TrimBox?

0 投票
2 回答
534 浏览

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

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

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

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

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

0 投票
1 回答
1025 浏览

fonts - cairo 字体渲染中消失的字符

我使用 cairo 将简单的文本渲染到 cairo 表面上。我为此使用了 freetype 字体(如果重要的话,Vera.ttf)。它可以工作,但有时字符会从输出中消失。实际上只有数字。我画了一个文本“Demostream 1..”,有时“1”会从输出中消失,我完全不知道为什么。该数字肯定是字符串的一部分。也没有内存损坏或类似的东西。这是绘制文本的代码:

ftFace 是加载的 freetype 字体。

我也会使用 pango 来呈现文本,但我没有可用的 fontcache - 所以我不知道如何将字体加载到 pango 中,因为它显然只支持 fontcache 而没有直接加载字体。

欢迎任何输入..

0 投票
5 回答
6317 浏览

python - 如何渲染 svg 文件的 *parts*?

我想按名称渲染 svg 文件的一部分,但对于我的一生,我无法弄清楚如何做到这一点(使用 python + gtk)。

这是有问题的 svg 文件:http: //david.bellot.free.fr/svg-cards/files/SVG-cards-2.0.1.tar.gz更新:此文件不再存在,但您可以跟踪它在http://svg-cards.sourceforge.net/下)

在他的网站上,大卫说:

您可以通过将文件渲染到像素图并手动剪切每张卡片或通过 DOM 接口使用卡片名称来绘制卡片。所有卡片都嵌入到一个 SVG 组中。

我不知道他所说的 DOM 接口是什么意思。我做了一些搜索,发现似乎适合我想要做的最好结果是:

但是请注意,它是针对 Qt 的,甚至不是用 python 编写的。

这是我到目前为止所拥有的:

当然,它不起作用。

我错过了什么?

0 投票
1 回答
3698 浏览

c++ - 如何让 cmake 的 PKG_CHECK_MODULES 在 Windows 中找到我的 cairo 库

我正在尝试在 win32 机器上构建 OpenSceneGraph 的 pdf 插件。该插件使用 cmake 的 PKG_CHECK_MODULES 宏来查找 cairo 和 poppler 库。我不知道如何安装这些以帮助它找到它们。

0 投票
1 回答
2181 浏览

c - Gtk 绘制位图

我想使用 Cairo 在窗口上绘制图像。如何从磁盘加载 bmp 或 png 并从中创建画笔?

下面的代码显示了应该在哪里进行绘图。暴露信号附加到窗口。

0 投票
2 回答
289 浏览

mono - GTK:Button onHover 效果在 Linux 和 Windows 上不同

我的 GUI 应用程序上有一个 GTK 按钮,但是对于 Linux 和 Windows,悬停效果是不同的:

继承人Linux:

http://imgur.com/DKAy6

继承人窗口:

http://imgur.com/v0FFU

动画我没有做任何花哨的事情,实际上动画是默认的,我怎样才能让它统一呢?

谢谢你。

0 投票
1 回答
478 浏览

ruby - 安装解压的 ruby​​ gem

我正在尝试在 OSX 10.6 上安装 cairo ruby​​ gem。extconf.rb 中似乎有一个错误,我已对其进行了修补,但现在我不知道如何创建 gem,所以我可以安装它...gem build folder无法正常工作,因为没有 gemspec 文件或无论如何(我对 gems 完全没有经验^^),并且gem install想要一个 .gem 文件......

这些是我解压后的 gem 的内容:

在此先感谢您的帮助 :)

0 投票
2 回答
3028 浏览

python - 使用 Cairo 绘制一个固定的均匀三次 B 样条

我有一堆坐标,它们是二维平面上夹紧的均匀三次 B 样条的控制点。我想使用 Cairo 调用(在 Python 中,使用 Cairo 的 Python 绑定)绘制这条曲线,但据我所知,Cairo 仅支持 Bézier 曲线。我也知道可以使用贝塞尔曲线绘制两个控制点之间的 B 样条线段,但我在任何地方都找不到确切的公式。给定控制点的坐标,如何推导出相应贝塞尔曲线的控制点?有什么有效的算法吗?