Здравствуйте. Уже весь мозг сломал, никак не могу придумать формулу. Может подскажете ;)
Делаю слайдер для увеличения и уменьшения.
Начало 0.
Минимальное значение -10
Максимальное значение 10
Несжатое изображение 1 - на слайдере 0
Уменьшить в 10 раз, значит 1 / 10 = 0.1 - на слайдере -10
Уменьшить в 2 раза, значит 1 / 2 = 0.5 - на слайдере -5
Увеличить в 10 раз - на слайдере 10
Увеличит в 5 раз - на слайдере 5
Вот непонятно что делать в 1 и -1, как обыграть их?
Спасибо.
Тут не формула нужна, а логика. При том механизме, который вы описали, началом отсчёта для слайдера должен быть не ноль, а должна быть единица. Нарисуйте себе график зависимости между цифрами на слайдере и размером изображения, и тогда все поймёте.
Вам нужна логарифмическая шкала. Нулю шкалы будет соответствовать масштаб 1. Если на шкале 10, то мы должны взять масштаб 10 ^ (x/10), т.е. 10, если -10, то 10 ^ (-x/10) = 10 ^ (-10/10) = 0,1.
При x = 5 => 10 ^ (5/10) ~ 3.16
При x = -5 => 10 ^ (-5/10) ~ 0.316
При x = 1 => 10 ^ (1/10) ~ 1.259
При x = -1 => 10 ^ (-1/10) ~ 0.794