Редактирование: Различные цветовые модели и их использование

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 5: Строка 5:
  
 
== Цветовая модель RGB ==
 
== Цветовая модель RGB ==
[[Файл: RGB illumination.jpg|right|250px|thumb|Аддитивное смешение цветов]]
+
[[Файл: RGB illumination.jpg|right|150px|thumb|Аддитивное смешение цветов]]
 
RGB – аддитивная цветовая модель. Каждый цвет представлен тремя числами – количеством красного, зеленого и синего цвета - отсюда и название модели “RGB” (Red, Green, Blue).
 
RGB – аддитивная цветовая модель. Каждый цвет представлен тремя числами – количеством красного, зеленого и синего цвета - отсюда и название модели “RGB” (Red, Green, Blue).
  
Строка 12: Строка 12:
  
 
Далее вы можете видеть программу, демонстрирующую принцип работы цветовой модели RGB.
 
Далее вы можете видеть программу, демонстрирующую принцип работы цветовой модели RGB.
<htmlet nocache="yes">Tcvetkov/Color_models/Color_models_v4_RGB_TM</htmlet>
+
<addscript src=Color_models_v4_RGB_release/><htmlet nocache="yes">Color_models_v4_RGB_TM</htmlet>
  
 
== Цветовая модель HSV (HSB) ==
 
== Цветовая модель HSV (HSB) ==
[[Файл: HSV HSL.png|right|400px|thumb|Сравнение моделей HSL и HSV]]
+
[[Файл: HSV HSL.png|right|400px|thumb|Сравнение моделей HSV и HSL]]
 
Данная модель очень полезна, если вам необходимо оперировать всем спектром цветов при помощи одной переменной.  
 
Данная модель очень полезна, если вам необходимо оперировать всем спектром цветов при помощи одной переменной.  
 
Модель была создана Элви Реем Смитом, одним из основателей Pixar, в 1978 году.
 
Модель была создана Элви Реем Смитом, одним из основателей Pixar, в 1978 году.
Строка 24: Строка 24:
  
 
Далее вы можете видеть программу, демонстрирующую принцип работы цветовой модели HSV.
 
Далее вы можете видеть программу, демонстрирующую принцип работы цветовой модели HSV.
<htmlet nocache="yes">Tcvetkov/Color_models/Color_models_v4_HSV_TM</htmlet>
+
<addscript src=Color_models_v4_HSV_release/><htmlet nocache="yes">Color_models_v4_HSV_TM</htmlet>
  
 
=== Функция перехода HSV->RGB ===
 
=== Функция перехода HSV->RGB ===
<div class="mw-collapsible mw-collapsed" style="width:100%" >
+
На языке JavaScript: <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default">  
'''На языке JavaScript:''' <div class="mw-collapsible-content">
+
<source lang="javascript" first-line="1">
<syntaxhighlight lang="javascript" line start="1" enclose="div">
 
 
function HSVtoRGB(h, s, v) {                            // h, s, v: [0, 1]
 
function HSVtoRGB(h, s, v) {                            // h, s, v: [0, 1]
 
     var r, g, b, i, f, p, q, t;
 
     var r, g, b, i, f, p, q, t;
Строка 51: Строка 50:
 
     };
 
     };
 
}
 
}
</syntaxhighlight>
+
</source>
 
Использование:
 
Использование:
<syntaxhighlight lang="javascript" line start="1" enclose="div">
+
<source lang="javascript" first-line="1">
 
var rgb = HSVtoRGB(hue / 360, sat, val);              // hue: [0, 360]; sat и val: [0, 1]
 
var rgb = HSVtoRGB(hue / 360, sat, val);              // hue: [0, 360]; sat и val: [0, 1]
 
alert(rgb.r + " " + rgb.g + " " + rgb.b);
 
alert(rgb.r + " " + rgb.g + " " + rgb.b);
</syntaxhighlight>
+
</source>
</div>
+
</toggledisplay>
</div>
 
  
 
== HEX-представление цветов ==
 
== HEX-представление цветов ==
Цвет в программировании часто представляется в виде #RRGGBB, где RR, GG, BB – число от 00 до FF (количество красного, зеленого и синего цвета по модели RGB) в шестнадцатиричной системе исчисления (FF = 255). Например, красный цвет будет представлен как #FF0000, желтый - #FFFF00 (смесь зеленого и красного);
+
При определении цвета в программировании его удобно представлять в виде #RRGGBB, где RR, GG, BB – число от 00 до FF (количество красного, зеленого и синего цвета по модели RGB) в шестнадцатиричной системе исчисления (FF = 255). Например, красный цвет будет представлен как #FF0000, желтый - #FFFF00 (смесь зеленого и красного);
  
 
=== Функция перехода RGB->HEX ===
 
=== Функция перехода RGB->HEX ===
<div class="mw-collapsible mw-collapsed" style="width:100%" >
+
На языке JavaScript: <toggledisplay status=hide showtext="Показать↓" hidetext="Скрыть↑" linkstyle="font-size:default">  
'''На языке JavaScript:''' <div class="mw-collapsible-content">
+
<source lang="javascript" first-line="1">
<syntaxhighlight lang="javascript" line start="1" enclose="div">
 
 
function RGBtoHEX(r, g, b) {                      // r, g, b: [0, 255]
 
function RGBtoHEX(r, g, b) {                      // r, g, b: [0, 255]
 
     return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
 
     return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
 
}
 
}
</syntaxhighlight>
+
</source>
</div>
+
</toggledisplay>
</div>
 
  
 
=== Переход HSV->HEX ===
 
=== Переход HSV->HEX ===
 
Для перехода HSV->HEX используйте цепочку HSV->RGB->HEX
 
Для перехода HSV->HEX используйте цепочку HSV->RGB->HEX
  
== См. также ==
 
* [[Отображение цветов на компьютере]]
 
 
[[Category: Виртуальная лаборатория]]
 
[[Category: Виртуальная лаборатория]]
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)