如何将 GOPixbuf 字符串转换为图像

How can I convert GOPixbuf strings to images

我有一个用 Gnumeric 生成的 XML 文件,其中包含图像,存储为 XML 中的 GOPixbuf 字符串。它们看起来像这样:

eXyA/4KEiP9xcnf/f3+E/3l5ff9xb3L/jo2Q/29wdP+ [truncated]

对于每个字符串,我都有宽度和高度,以及一个 rowstride 参数,如本例所示:

<GOImage name="Image(70)" type="GOPixbuf" width="151" height="135" rowstride="604">

是否有合理的方法将其转换为图像 - 任何格式都可以?

我熟悉 perl 和图像转换工具(imagemagick、gimp),但除了 GTK 或 GOffice 文档外,我没有通过谷歌搜索找到任何文档。

您已经找到了有用的东西。但是由于在 CPAN 上没有针对此的 Perl 绑定,如果您想使用 Perl,则必须自己制作。

幸运的是,您不必了解 XS 就可以做到这一点。您可以使用 FFI::Platypus 创建临时绑定并只映射您需要的内容。

您可能已经找到的文档有 Getting started with GOffice section。快速检查后,我发现在我最近的 Ubuntu 中有一个包含该库的包。它被称为libgoffice-0.10-dev

现在您可以设置它并使用 lib 函数。 https://developer.gnome.org/goffice/unstable/GOImage.html 的某处可能有读取和转换它的方法。

其中一个可能是 go-image-get-pixbuf, which returns a GdkPixbuf. That in turn has a very extensive documentation. Maybe what you need might be in this one

祝你好运。