it-swarm.com.ru

Диапазон RGB для холодных и теплых цветов?

Каковы диапазоны холодных и теплых цветов ( http://www.diy-bathroom-remodel.com/images/color_wheel.gif ) в RGB?

12
Sarah

Взяв за изображение, на которое вы ссылаетесь, что-то «теплое» и «холодное», мы получаем следующее.

Colour wheel

  • Самый горячий цвет полностью красный (R = 255, G = 0, B = 0).
  • Самый холодный цвет полностью синий (R = 0, G = 0, B = 255).

Таким образом, чем больше R, тем теплее цвет, и чем больше B, тем холоднее цвет. G проводит вас через оттенки бирюзового, зеленого и желтого, каждый из которых становится все теплее. Когда G равен нулю, вы перемещаетесь по нижней левой диагонали круга, когда R и B меняются. Когда G приближается к 255, вы пересекаете верхнюю правую диагональ, когда R и B меняются.

Однако, смежные теплые и прохладные цвета имеют различное количество зеленого цвета в них. Красный цвет непосредственно под диагональной линией имеет меньше зеленого цвета, чем красный непосредственно над ним. Синий цвет непосредственно под диагональной линией имеет меньше зеленого цвета, чем синий цвет непосредственно над ним. Это цветовое колесо выглядит так, будто оно не так хорошо представляет пространство RGB, особенно в синем конце спектра.

В конечном счете, то, что вы воспринимаете как теплое и холодное, зависит от настроек вашего монитора и условий освещения. Во многом это также ваше восприятие и познание - то, что вы считаете теплым или холодным. На изображении цветовые контрасты повлияют на ваше суждение. «Промежуточный» цвет рядом с явно прохладным цветом будет выглядеть теплым, но если тот же цвет будет рядом с явно теплым цветом, он будет выглядеть круто. Посмотрите на это цветовое колесо:

colourwheel

Здесь показан каждый отдельный 24-битный цвет (8 бит для каждого из R, G и B), и показаны значения RGB для верхнего, правого, нижнего и левого цветов. На мой взгляд, здесь больше «холодных» цветов, чем «теплых». Надеюсь, это поможет вам решить, каковы значения RGB для того, что вы воспринимаете как прохладные и теплые цвета.

Bonus: На изображении выше вы также можете видеть цвета, выраженные в цветовой модели оттенка, насыщенности и значения (HSV). Оттенок в основном кодирует цвет. Насыщенность кодирует, насколько «полный» цвет - чем меньше насыщенность, тем более «мрачный», т.е. белый. Значение определяет, насколько он темный - меньшее значение делает его более черным, а также делает насыщенный белый более серым. Оттенок изменяется от 0 до 360 и соответствует углу окружности, где 0 - полностью красный, 90 - неоново-зеленый, 180 - ярко-синий, 270 - голубовато-фиолетовый, а 360 - снова красный. S и V изменяются от 0 до 100 и влияют на точный оттенок - эти примеры с S = V = 100.

На мой взгляд, значения H в диапазонах 0-80 и 330-360 теплые, в то время как H> 80 и H <330 холодные (приблизительно).

Вы можете открыть селектор цвета в вашей любимой программе рисования. Обычно они могут показывать HSV и RGB рядом и позволяют вам играть с цветным колесом и видеть влияние на числа HSV и RGB. Если у вас его еще нет, я бы предложил GIMP . У него есть цветовой круг, который я использовал, чтобы получить числа для этого ответа.

Бонус 2: Все вышеперечисленное предполагает субъективную оценку того, что тепло, а что круто. Я думаю, что единственный способ сделать объективное измерение цветовой температуры - это измерить ее и выразить в температурной шкале. Часто Кельвин, кажется, используется. Эта мера учитывает не только оттенок цвета, но и его яркость (или сколько света он излучает). Если у вас современный монитор, он, вероятно, имеет настройку температуры с некоторыми значениями Кельвина на выбор. Можно рассчитать температуру каждого цвета RGB на вашем дисплее, если вы знаете температуру своего белого (баланс белого). Однако этот расчет очень сложен, и я не знаю, как это сделать. Вы можете найти Брюса Линдблума хороший источник дополнительной информации или любую книгу по науке о цвете. Но я думаю, это больше, чем вы рассчитывали с вашим вопросом ... ;-)

42
Fabian Fagerholm

Выглядит для меня как

if (B>R) { 
    color=cool
} else { 
    color=warm
}

это довольно хорошее приближение. Вы можете проверить это на своем цветовом круге, используя: http://www.colorzilla.com/firefox/

4
Mike C

уже ответил, но нужно добавить это:

Если вас интересует физическая температура и цветовые зависимости, то вот шкалу, которую вы ищете:

Black body Temperature color

Это цвет света, излучаемого чёрным телом заданной температуры. В астрономии это используется для классификации цвета звезды (например, индекс цвета BV ).

Он также может быть использован для косвенных измерений температуры.

1
Spektre

Тёплые цвета имеют больше красного, а холодные цвета - больше синего.

В RGB:

red = 0
blue = 0

if (red > blue) {
  isWarmColor = true
  isCoolColor = false
}
else if (red < blue) {
  isWarmColor = false
  isCoolColor = true
}
else {
  isWarmColor = false
  isCoolColor = false
}

В HSL:

hueAngle = 0

if (hueAngle < 0 || hueAngle > 360 || hueAngle == 90 || hueAngle == 270) {
  isWarmColor = false
  isCoolColor = false
}
else if (hueAngle > 90 && hueAngle < 270) {
  isWarmColor = false
  isCoolColor = true
}
else if (hueAngle < 90 && hueAngle > 270) {
  isWarmColor = true
  isCoolColor = false
}
0
tfmontague