Каким будет правильный способ преобразования значения цвета из float в байт? Сначала я думал, что b=f*255.0 должен это сделать, но теперь я думаю, что в этом случае только точный 1.0 будет преобразован в 255, но 0.9999 уже будет 254, что, вероятно, не что я хочу...
Кажется, что b=f*256.0 было бы лучше, за исключением того, что у него был бы нежелательный случай создания 256 в случае точного 1.0.
В конце я использую это:
#define F2B(f) ((f) >= 1.0 ? 255 : (int)((f)*256.0))