我正在尝试编写一个C程序在Linux下运行,包括读写图像文件。我将处理的所有图像文件都是TIFF格式的对位图像,每像素1比特。我对这类图片的糟糕支持感到非常惊讶。
我已经尝试过Imlib,但是虽然它据称支持读取二进制文件,显然没有办法访问真实的图像数据-它首先将数据转换为RGB,这是荒谬的,特别是在我正在使用的分辨率。
我试过FreeImage,它的API设计似乎比Imlib更合理,尽管它的windows编码标准不一致。不幸的是,它实际上似乎不适用于双色图像;我得到的数据都是零,即使几乎复制了他们的示例代码。
还有其他可能吗?我只是想要一些可以读写双向tiff的东西,这样我就不必处理奇怪的标记格式,压缩等。
netpbm
包(至少在ubuntu中是这样命名的)有一个tifftopnm
cmdline程序以及其他工具。还有一个相应的共享库,我猜可以通过函数调用来做同样的事情。
此外,如前所述,如果需要,可以使用libtiff
提取元数据。
我猜你是在处理传真吧。