1

嗨,我想为 iPad 应用程序将特定范围的数字映射到目标 C 中的不同范围。

例如,我的输入值可能在 0-255 范围内,但我希望输出在 0.5-1 范围内。例如,输入 127.5 将导致输出 0.75。

提前喝彩。

4

2 回答 2

8

这是通用解决方案(它应该适用于范围和输入值的任何组合):

CGFloat const inMin = 0.0;
CGFloat const inMax = 255.0;

CGFloat const outMin = 0.5;
CGFloat const outMax = 1.0;

CGFloat in = 127.5;
CGFloat out = outMin + (outMax - outMin) * (in - inMin) / (inMax - inMin);
于 2012-05-22T06:36:04.790 回答
5

计算第一个的比率并将其应用于第二个的范围:

CGFloat result = ((127.5 / 255) * 0.5) + 0.5;
于 2012-05-22T06:31:52.093 回答