Сгенерировать цвет по проценту

Cuder

Новичок
Нахожусь в поисках готовой реализации одной своей задумки.
Хочу сделать что-то вроде статус бара (во вложении), где цвет генерируется функцией php по проценту из переменной. Что-то вроде градиента - чем меньше процент, тем ближе к красному, чем больше - тем ближе к зеленому.
Натыкался в сети на один готовый класс, но он какой-то непутевый. Подскажите, пожалуйста.
 

Вложения

Cuder

Новичок
Мне вообще-то нужен класс на PHP. Я же не буду вручную прописывать все условия, типа если 1%, то background-color: black, если 2%, то немного посветлее. 100 условий? Можно написать функцию, которая вернет цвет для CSS по введенному проценту.
 

fixxxer

К.О.
Партнер клуба
facepalm.jpg

в школе как считать пропорции не учил?
 

Cuder

Новичок
Читать надо бы повнимательнее. При чем тут пропорции? Каким это волшебным образом я преобразую все проценты от 1 до 100 в градиентную полоску в HEX при помощи просто пропорций?
 

fixxxer

К.О.
Партнер клуба
Зачем тебе целиком градиентная полоска? Ты картинку, чтоли, генерируешь? Для css-градиента достаточно начального и конечного значений.
 

Cuder

Новичок
А вот пример я вложил в самом первом сообщении топика. Но это так, грубо. Картинка мне не нужна, мне нужен background-color (сплошной, не градиент) в ячейке таблицы в зависимости от процента. Чем больше процент - тем ближе к зеленому, например.
Вот здесь есть нечто похожее, только там с тремя цветами.
 

fixxxer

К.О.
Партнер клуба
А зачем такие допотопные извращения в современном мире, где 98% браузеров поддерживают css-градиенты?
Посмотри генератор, который я дал, изобрази там то же самое, глянь, какой css генерирует, и делай такое же на php, там алгоритм совершенно очевидный.
 

fixxxer

К.О.
Партнер клуба
а если рисовать как в том примере таблицей, можно подумать, не видно =)
 

Absinthe

жожо
fixxxer твой ответ - это не то, что нужно автору. Он просто хотел зависимость сплощного цвета (не градиента) от процента вывести.
Дальше я не понял.
А без лесенки сделать можно.
 

Crys

Двинутый новичок
Топикстартер зациклился на HEX, хотя никто не запрещает для простоты заюзать сразу RGB..

PHP:
$green = round($percent*255/100);
$red = round((100-$percent)*255/100);
Вот и все что ему надо)
 

Crys

Двинутый новичок
А нет.. скосячил.. Посмотрел ссылку, которую автор привел - в моем случае теряется желтый цвет, градиент неестественно выглядит..
 

Cuder

Новичок
Действительно, на HEX зациклился. Но решение найдено, уже на RGB
 
Сверху