C 更改位图图像中的BPP

C 更改位图图像中的BPP,c,linux,bitmap,C,Linux,Bitmap,我用xlib XGetImage拍摄了一幅图像,并将其保存到位图中,问题是位图是32 BPP,我必须将该位图转换为24 BPP,有什么想法吗?也许让XGetImage获得24 BPP的图像,或者将32 BPP的位图转换为24 BPP 谢谢。使用ImageMagick软件套件中的转换实用程序。它非常可移植,几乎可以在所有unix/linux系统上找到 首先使用XWriteBitmapFile将文件保存到名为original.xbm的文件中,然后使用类似于:convert-depth 24 orig

我用xlib XGetImage拍摄了一幅图像,并将其保存到位图中,问题是位图是32 BPP,我必须将该位图转换为24 BPP,有什么想法吗?也许让XGetImage获得24 BPP的图像,或者将32 BPP的位图转换为24 BPP


谢谢。

使用ImageMagick软件套件中的转换实用程序。它非常可移植,几乎可以在所有unix/linux系统上找到

首先使用XWriteBitmapFile将文件保存到名为original.xbm的文件中,然后使用类似于:convert-depth 24 original.xbm converted.xbm的convert命令


如果您需要,您可以使用此工具进行更多转换,如调整大小、模糊、裁剪等。

您需要一个程序来完成此操作,或者您只需要转换保存的1个位图?我需要在保存前对其进行转换