我有一个用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文档搜索任何文档。
答案 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。