Что происходит с моими цветами BMP? - PullRequest
0 голосов
/ 03 июня 2018

Я пытался использовать файл bmp в качестве хранилища данных (поскольку моя программа использует 2-мерные матрицы, этот способ облегчил бы редактирование сохранений без других инструментов, вам просто нужно рисовать), но у меня проблема.Есть случаи, когда мне нужно проверить точный цвет пикселя, и я ожидаю, что созданный пользователем файл bmp будет иметь определенные значения rgb.

Сначала я подумал, что что-то неправильно пишу в файлечитая код, я заметил, что проблема была в другом месте.

Когда я сохраняю файл с краской (или другими программами тоже), значение rgb не сохраняется точно так, как оно было введено.

Например, (0, 0, 5) становится (0, 0, 0) после сохранения, (200, 0, 0) становится (192, 0, 0) и т. Д .;поэтому, когда во время чтения я ожидаю 5, вместо этого я получаю 0.

(я использую 24-битный растровый формат).

Как мне обойти это?Могу ли я узнать, какие вычисления выполняются для изменения цвета, чтобы я мог исправить это на стороне кода c ++, или я могу сделать что-нибудь, чтобы сделать файл сохранения точным в диапазоне 0-255?

...