我正在尝试使用 GDK 将Clean图形库(特别是 ObjectIO)移植到 Linux。该库由一个非特定于操作系统的部分组成,由于兼容性问题我不想触摸它,还有一个我可以触摸的特定于操作系统的部分。
我必须实现的功能之一是从 .bmp 文件中获取原始数据并且必须从中构建一个GdkPixbuf
。该函数必须用 C 编写。
我知道 function gdk_pixbuf_new_from_file()
,但我没有得到文件名(并且无法更改它,因为它位于库的非操作系统特定部分中)。我只得到原始数据。
我看到了这个手册条目,我想我可以使用gdk_pixbuf_new_from_data()
,但这需要你知道图像的行步长,我不确定如何获得它。
有没有办法从文件中获取行跨度?如果不是,我看到的唯一可能性是使用数据创建一个临时文件,然后调用gdk_pixbuf_new_from_file()
- 但这真的很难看。