我想取一系列漂浮值(主题),将其更改并将其映射到静态范围的颜色0 - 255,以便在屏幕上显示。
主题范围的值以浮点数最小值0.056582272开头至最大值0.34371486
当运行计算更改时间超过最小值0.0791025到最大值4.5757337
如果我使用
进行映射数字/ 255 *最大
代码中的
thecol=elements[x][y][subject]*255/largest;
当我在屏幕上弹出它们时,你会看到开头的颜色,然后是最后的颜色,但两者之间没有任何颜色。
答案 0 :(得分:0)
您没有考虑计算范围的最小值。
float rangeSize = largest - smallest;
float mappedTo0to1 = (value - smallest) / rangeSize; // Map to range 0 - 1.
int mappedResult = (int) (mappedTo0to1 * 255); // Map to range you want. (0 - 255).
验证这些函数的技巧是查看可能的最低和最高输入值。