# Kleuren kiezen in Pliro [Programmeergidsen](LEESMIJ.md) Je kunt een kleur benoemen, zoals `"rood"`, of haar recept beschrijven met een code zoals `"#ff0000"`. ## RGB en hexadecimale kleurcodes **RGB** staat voor *rood, groen, blauw*: drie lichtkleuren die een scherm mengt. Elk onderdeel, een **kanaal**, heeft een sterkte van 0 tot en met 255. Alle drie op 0 maakt zwart; alle drie op 255 maakt wit. **Hexadecimaal**, of *hex*, schrijft getallen met zestien cijfers: `0`–`9`, daarna `a`–`f` voor tien tot en met vijftien. Twee hexcijfers samen kunnen 0 tot en met 255 beschrijven: `00` is 0 en `ff` is 255. Bij `#RRGGBB` beschrijven de paren rood, groen en blauw. `"#ff0000"` betekent dus vol rood zonder groen of blauw. In de korte vorm `#RGB` wordt elk cijfer verdubbeld: `"#f80"` wordt `"#ff8800"`. Deze kleuren zijn **ondoorzichtig**: je kunt er niet doorheen kijken. Een **alfakanaal** zou de doorzichtigheid beschrijven, maar hoort niet bij deze overdraagbare kleurvormen. **Overdraagbaar** betekent dat dezelfde kleurvorm werkt in de ondersteunde tekenomgevingen van Pliro. ## Functies en kleurnamen | Nederlandse aanroep | Canonieke ID | Resultaat | |---|---|---| | `wisScherm(kleur)` | `graphics.clear` | `None` | | `rechthoek(x, y, breedte, hoogte, kleur)` | `graphics.rectangle` | `None` | | `cirkel(x, y, straal, kleur)` | `graphics.circle` | `None` | | `tekenLijn(x1, y1, x2, y2, dikte, kleur)` | `graphics.line` | `None` | | `tekenTekst(x, y, inhoud, grootte, kleur)` | `graphics.text` | `None` | | `tekenTekst(x, y, inhoud, grootte, kleur, lettertype)` | `graphics.text` | `None` | | `tekenTekst(x, y, inhoud, grootte, kleur, lettertype, uitlijning)` | `graphics.text` | `None` | Coördinaten en maten zijn eindige getallen. Straal, lijndikte en tekstgrootte moeten positief zijn. Rechthoekmaten mogen momenteel elk eindig getal zijn; gebruik positieve breedte en hoogte voor overdraagbare programma's. Tekstinhoud en kleur zijn `Text`; kleur mag niet leeg zijn. Deze Engelse en Nederlandse kleurnamen werken in **iedere syntaxtaal** en hebben op alle hosts dezelfde RGB-waarde: | Engels | Nederlands | RGB | |---|---|---| | `black` | `zwart` | `#000000` | | `white` | `wit` | `#ffffff` | | `red` | `rood` | `#ff0000` | | `green` | `groen` | `#008000` | | `blue` | `blauw` | `#0000ff` | | `yellow` | `geel` | `#ffff00` | | `cyan` | `cyaan` | `#00ffff` | | `magenta` | `magenta` | `#ff00ff` | | `orange` | `oranje` | `#ffa500` | | `purple` | `paars` | `#800080` | | `pink` | `roze` | `#ffc0cb` | | `gray`, `grey` | `grijs` | `#808080` | | `brown` | `bruin` | `#a52a2a` | Hoofdletters uit het ASCII-alfabet en omringende Unicode-witruimte worden genegeerd. `#RGB` en `#RRGGBB` werken ook, ongeacht de hoofdletters van de hexadecimale cijfers. `"#f80"` betekent `"#ff8800"`. Deze kleuren zijn ondoorzichtig zonder alfakanaal. Kleurnamen blijven gewone tekst en worden bij syntaxisconversie niet vertaald. Nederlandse `cirkel(100, 100, 30, "blue")` is dus geldig. 2D-aanroepen normaliseren ondersteunde namen naar canonieke Engelse namen. Andere niet-lege kleurtekst wordt doorgegeven, maar overige CSS-kleuren en alfavormen zijn hostafhankelijk. 3D accepteert uitsluitend de bovenstaande namen en hexvormen en normaliseert naar kleine letters in `#rrggbb`. Zie de [specificatie van overdraagbare kleuren](../../../docs/spec/colors.md). | Optioneel tekstargument | Waarden | Standaard | |---|---|---| | Lettertype | `"sans"`, `"pixel"` | `"sans"` | | Uitlijning | `"left"`, `"center"`, `"right"` | `"left"` | Deze namen zijn ongevoelig voor hoofdletters en omringende witruimte. x is het gekozen uitlijningsanker; y is de bovenkant van de regelbox. Pliro verpakt zijn Sans- en Pixel-lettertypen zodat native uitvoer niet afhangt van geïnstalleerde systeemlettertypen. Argumentwaarden zoals `"center"` worden niet vertaald. ## Andere woorden op deze pagina **Normaliseren** betekent gelijkwaardige schrijfwijzen in één afgesproken vorm bewaren: `"ROOD"` en `"red"` benoemen dezelfde kleur. **CSS** (*Cascading Style Sheets*) beschrijft het uiterlijk van webpagina's en heeft meer kleurvormen. Dat betekent niet dat iedere Pliro-host die allemaal kan gebruiken. **Witruimte** betekent spaties en vergelijkbare afstandstekens rond een naam. Een **lettertype** is een vormgeving van letters. `"sans"` gebruikt het lettertype Sans; `"pixel"` het blokkerige Pixel. **Uitlijning** bepaalt welk deel van de tekst op x staat: de linkerrand, het midden of de rechterrand. Dat gekozen punt heet het **anker**. De **regelbox** is de ruimte voor een tekstregel; y geeft de bovenkant aan. **Meegeleverde lettertypen** zitten bij Pliro, zodat je ze niet zelf hoeft te installeren. ## Gerelateerde lemma’s [Syntaxis en waarden](../syntaxis/LEESMIJ.md) · [Ingebouwde functies](../ingebouwde-functies/LEESMIJ.md) · [Programmeergidsen](LEESMIJ.md)