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

时间:2015-07-30 17:50:53

标签: image perl gdkpixbuf

我有一个用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),但我没有通过Google搜索或GOffice文档搜索任何文档。

1 个答案:

答案 0 :(得分:0)

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

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

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

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

其中一个好的可能是go-image-get-pixbuf,它会返回GdkPixbuf。这反过来有一个非常广泛的文档。也许你需要的可能是in this one

祝你好运。