我试图使用bmp文件作为数据存储(因为我的程序使用2d矩阵,这样可以在没有其他工具的情况下轻松编辑保存,你只需要绘画),但我有一个问题。 在某些情况下,我必须检查像素的精确颜色,我希望用户创建的bmp文件具有一些特定的rgb值。
一开始我以为我在文件阅读代码中写了不正确的东西,然后我注意到问题出在其他地方。
当我用油漆(或其他程序)保存文件时,rgb值不会与输入完全一致。
例如,(0,0,5)一旦保存就变为(0,0,0),(200,0,0)变为(192,0,0),依此类推;因此,当我在阅读时,我期待一个5我得到一个0。
(我使用的是24位位图格式)。
我如何解决这个问题? 我可以知道正在进行哪些改变颜色的计算,所以我可以在c ++代码端进行修正,或者我可以做些什么来使保存文件在0-255范围内精确?