Antaŭan paĝon! Indekson! Instrukcion!

Koloroj

  1. Pri RVB
  2. Konverto el RVB al unupolusa kolorspaco
  3. Konverto el RVB al dupolusa kolorspaco

Pri RVB

Kartezie RVB prezenteblas per tridiemsia kubo.

[kolorkubo]

Ĉi-suba tabelo prezentas la nomojn kaj la RVB-valorojn de la bazaj koloroj de EGA; iliaj anglaj nomoj estas en pluraj normoj, ekz-e en HTML (http://www.w3.org/TR/WD-html40-970708/types.html#type-color) kaj en Ĝavo (en ties klaso Color).

Verdire, la fakte vidataj koloroj povas tre forte varii sur diversaj ekranoj kun malsamaj kontrasto kaj heldenso.

Nomoj de koloroj kaj iliaj RVB-valoroj
Esperanto16-umeHTMLĜavogermanarusa
  nigra000000 black schwarz чёрный
  malhele blua000080 navy dunkelblau тёмно-синий
  blua 0000FF blue blau синий
  malhele verda 008000 green grün болотный
  bluverda (turkisa) 008080 teal blaugrün бирюзовый
  verda 00FF00 limegreen hellgrün зелёный
  cejana 00FFFF aquacyan zyan, Türkis голубой
  malhele griza 404040 dark gray dunkelgrau тёмно-серый
  ruĝbruna 800000 maroon rotbraun каштановый
  viola 800080 purple lila фиолетовый
  oliva 808000 olive oliv оливковый
  griza 808080 gray grau серый
  hele grizaC0C0C0 silverlight gray hellgrau светло-серый
  ruĝa FF0000 red rot красный
  hele viola FF00FF fuchsiamagenta violett сиреневый
  oranĝa FFC800 orange orange оранжевый
  roza FFAFAF pink rosa розовый
  flava FFFF00 yellow gelb жёлтый
  blanka FFFFFF white weiß белый

Konverto el RVB al unupolusa kolorspaco

KONST nedifinito = -1; 
 
PROCEDURO unupolusigu(r, g, b : reela; VAR n, s, h : reela); 
 
{Donite: RVB, ĉiu en [0, 1]. 
 Dezirate: n en [0, 360] kaj s en [0, 1]; sed se s=0, n=nedifinito.} 
 
   VAR dis, ma, mi: reela; 
 
STARTO 
   ma := maks(r, g, b); 
   mi := min(r, g, b); 
   h := ma;                                   {la maksimuma subhelo} 
   SE ma ≠ 0 TIAM STARTO 
      dis := ma - mi; 
      s := dis / ma; 
      SE r = ma TIAM n := (g - b) / dis;      {inter flava kaj viola} 
      ALIE SE v = ma TIAM n := 2 + (b-r)/dis; {inter lazuro kaj flavo} 
      ALIE SE b = ma TIAM n := 4 + (r-v)/dis; {inter viola kaj lazura} 
      n := n*60.0;                            {konvertu al gradoj} 
      SE n < 0.0 TIAM n := n + 360.0;        {gradoj estu nenegativaj} 
   FINO ALIE STARTO 
       s := 0.0; 
       n := nedifinito; 
   FINO; 
FINO {unupolusigu}

Konverto el RVB al dupolusa kolorspaco

PROCEDURO dupolusigu(r, g, b : reela; VAR n, l, s : reela); 
 
{Donite: rvb, ĉiuj en [0, 1]. 
 Dezirate: n en [0, 360] kaj s en [0, 1]; sed se s=0, n=nedifinito.} 
 
   VAR dis, ma, mi: reela; 
 
STARTO 
    ma := maks(r, v, b); 
    mi := min(r, v, b); 
    l  := (ma + mi) / 2;    {ĉi tio estas la averaĝa helo} 
 
    SE ma = mi TIAM STARTO  {grize:} 
            s := 0.0; 
            n := nedifinito; 
    FINO ALIE STARTO     {kolore:} 
 
       SE l ≤ 0.5 TIAM s := (ma - mi) / (ma + mi); 
       ALIE s := (ma - mi) / (2 - ma - mi); 
 
       dis := ma - mi; 
       SE r = ma TIAM n := (v - b) / dis;    {inter flava kaj viola} 
       ALIE SE g = ma TIAM n := 2+(b-r)/dis; {inter cejana kaj flava} 
       ALIE SE b = ma TIAM n := 4+(r-v)/dis; {inter viola kaj cejana} 
       n := n * 60.0;                        {konvertu en gradojn} 
       SE n < 0.0 TIAM n := n+360.0;         {gradoj estu nenegativaj} 
    FINO {kolore} 
FINO {dupolusigu} 


Indekson Instrukcion