嗨,我想为 iPad 应用程序将特定范围的数字映射到目标 C 中的不同范围。
例如,我的输入值可能在 0-255 范围内,但我希望输出在 0.5-1 范围内。例如,输入 127.5 将导致输出 0.75。
提前喝彩。
嗨,我想为 iPad 应用程序将特定范围的数字映射到目标 C 中的不同范围。
例如,我的输入值可能在 0-255 范围内,但我希望输出在 0.5-1 范围内。例如,输入 127.5 将导致输出 0.75。
提前喝彩。
这是通用解决方案(它应该适用于范围和输入值的任何组合):
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);
计算第一个的比率并将其应用于第二个的范围:
CGFloat result = ((127.5 / 255) * 0.5) + 0.5;