我正在使用UISlider来调整图像的白平衡,并且以ºK为单位进行计算(尽管从我对光的理解来看,我认为它是向后的?但是...)

如果将默认值设置为5000ºK,则向左移动滑块时,图像的蓝色将比向右移动时的蓝色大得多。为了减轻这种情况,我辛苦地创建了一个与右侧增量不同的左侧增量(左侧恰好延伸为右侧增量的1/4,因此最小值为4000ºK,最大值为9000ºK)。

现在可以使用,但滑块不再位于中间:

ios - 左侧增量与右侧增量不同的UISlider-LMLPHP

有没有一种方法可以调整滑块的范围,使左侧放大到右侧的4倍?

最佳答案

您可以使用以下公式:

alpha: value of slider (0-1)

a: K value (e.g. 5000)

min: 4000

max: 9000

/// for getting alpha from K value
alpha = ((a - min)*4)/((a - min)*4 + (max - a));

/// for getting K value from alpha
a = (alpha*max - 4*min*(alpha - 1))/(4 - 3*alpha);


我自己做的。因此需要更多测试。

关于ios - 左侧增量与右侧增量不同的UISlider,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32731642/

10-13 06:34