User Tools

Site Tools


ro:colorexpressions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ro:colorexpressions [2017/08/28 15:47]
junior-root
ro:colorexpressions [2020/02/28 10:46] (current)
Line 25: Line 25:
 color -65536, -16711936 color -65536, -16711936
 </code> </code>
-Mai jos este lista culorilor predefinite. Pentru fiecare culoare sunt trecute și câteva informații suplimentare despre care vom vorbi mai târziu+Mai jos este lista culorilor predefinite. Pentru fiecare culoare sunt trecute și câteva informații suplimentare, inclusiv valoarea numerică a culorii
  
 {{page>ro:colorconstants}} {{page>ro:colorconstants}}
Line 32: Line 32:
  
 ==== 2) Culoare exprimată cu ajutorul funcției RGB ==== ==== 2) Culoare exprimată cu ajutorul funcției RGB ====
-Utilizatorul are posibilitatea să-și creeze milioane de culori diferite prin utilizarea funcției [[rgb|RGB]]. Acesta întoarce un [[integerexpressions|număr_întreg]] ce reprezintă culoarea creată.+Utilizatorul are posibilitatea să-și creeze milioane de culori diferite prin utilizarea funcției [[rgb|RGB]].
  
-La începutul acestei pagini spuneam că o culoare este de fapt un [[integerexpressions|număr_întreg]] ce conține în el câteva informații speciale.\\+La începutul acestei pagini am văzut că o culoare este de fapt un [[integerexpressions|număr_întreg]] ce conține în el câteva informații speciale. Ca atare, funcția [[rgb|RGB]] întoarce tot un [[integerexpressions|număr_întreg]] în format ARGB ce reprezintă culoarea creată.\\
 El este compus în realitate din 4 octeți (un octet poate avea o valoare între 0 - 255), fiecare octet conținând informații despre unul dintre cele 4 canale: **R**ed (roșu), **G**reen (verde), **B**lue (albastru) și **A**lpha (opacitate, transparență).\\ El este compus în realitate din 4 octeți (un octet poate avea o valoare între 0 - 255), fiecare octet conținând informații despre unul dintre cele 4 canale: **R**ed (roșu), **G**reen (verde), **B**lue (albastru) și **A**lpha (opacitate, transparență).\\
 Prin combinarea canalelor **RGB** (roșu, verde, albastru) se pot obține un număr de 16.777.216 de culori diferite! Fiecare culoare poate fi afișată apoi cu diverse grade de opacitate, date de canalul **A**lpha: 0 - 255, unde 255 înseamnă opacitate maximă, iar 0 înseamnă transparență totală. Prin combinarea canalelor **RGB** (roșu, verde, albastru) se pot obține un număr de 16.777.216 de culori diferite! Fiecare culoare poate fi afișată apoi cu diverse grade de opacitate, date de canalul **A**lpha: 0 - 255, unde 255 înseamnă opacitate maximă, iar 0 înseamnă transparență totală.
  
-Funcția [[rgb|RGB]] compune o culoare din valorile furnizate pentru **R**ed (roșu), **G**reen (verde), **B**lue (albastru), fiecare componentă având valori cuprinse între 0 și 255. Exemplul de mai jos creează culoarea oranj și desenează un cerc cu ea.+ 
 +Formatul funcției [[rgb|RGB]] este:\\ 
 +**RGB(r, g, b)**, în acest caz canalul **A**lpha este implicit 255 (opacitate totală)\\ 
 +**RGB(r, g, b, a)**, în acest caz canalul **A**lpha este declarat ultimul, chiar dacă valoare lui este cuprinsă în primul octet din valoarea ARGB\\ 
 + 
 +Funcția [[rgb|RGB]] compune o culoare în format ARGB din valorile furnizate pentru **R**ed (roșu), **G**reen (verde), **B**lue (albastru), fiecare componentă având valori cuprinse între 0 și 255. Exemplul de mai jos creează culoarea oranj și desenează un cerc cu ea.
 <code> <code>
 clg clg
Line 56: Line 61:
  
 Pentru a exemplifica cele menționate este bine de revăzut tabelul ce conține informații despre culorile deja predefinite. Pentru a exemplifica cele menționate este bine de revăzut tabelul ce conține informații despre culorile deja predefinite.
-Acum se poate observa în dreptul fiecărei constante valorile canalelor ARGB (A este mereu 255 pentru că toate sunt culori opace, nu transparente), iar așezarea lor ca octeți este cel mai bine văzută în reprezentarea numărului în format hexazecimal (0xAARRGGBB).+Acum se poate observa în dreptul fiecărei constante valorile canalelor **ARGB** din care este alcătuită (**A** este mereu 255 pentru că toate sunt culori opace, nu transparente), iar așezarea lor ca octeți este cel mai bine văzută în reprezentarea numărului în format hexazecimal (0xAARRGGBB).
  
 {{page>ro:colorconstants}} {{page>ro:colorconstants}}
- 
- 
- 
  
 ---- ----
Line 67: Line 69:
 ==== 3) Culoare exprimată printr-un număr ==== ==== 3) Culoare exprimată printr-un număr ====
 Am văzut că o culoare este un [[integerexpressions|număr_întreg]].\\ Am văzut că o culoare este un [[integerexpressions|număr_întreg]].\\
-Constantele sunt numere, iar funcția [[rgb|RGB]] compune și întoarce o culoare tot ca un [[integerexpressions|număr_întreg]]\\+Numele culorilor (constante) sunt numere, iar funcția [[rgb|RGB]] compune și întoarce o culoare tot ca un [[integerexpressions|număr_întreg]]\\
 Cu alte cuvinte, oricare din formele de mai jos va avea același efect, valoarea culorii fiind aceeași (pentru a demonstra acest lucru, înlocuiește instrucțiunea **Color** cu **Print**). Cu alte cuvinte, oricare din formele de mai jos va avea același efect, valoarea culorii fiind aceeași (pentru a demonstra acest lucru, înlocuiește instrucțiunea **Color** cu **Print**).
 <code> <code>
Line 78: Line 80:
 color rgb(0xb0, 0x3d, 0x00)       #-5227264 color rgb(0xb0, 0x3d, 0x00)       #-5227264
 </code> </code>
 +
 +----
  
 ==== Exemplu ==== ==== Exemplu ====
 +Rulează codul de mai jos. Trage cu mouse-ul de manetele R, G, B și A sau dă clic pe constantele din dreapta și urmărește codul generat.
 +
 +{{ro:colorsprogram.png|Program util pentru a învăța cum se alcătuiesc culorile}}
 +
 <code> <code>
 # Program util pentru a învăța cum se alcătuiesc culorile # Program util pentru a învăța cum se alcătuiesc culorile
Line 171: Line 179:
  color clear, culoarea_curenta  color clear, culoarea_curenta
  rect 225, 45, 150, 150  rect 225, 45, 150, 150
- txt = ""+ txt = "#liniile de mai jos generază aceeași culoare:";chr(10)
  color 0xfff0f0f0  color 0xfff0f0f0
  rect 430, 10, 16, 381  rect 430, 10, 16, 381
Line 177: Line 185:
  for f = 0 to 18  for f = 0 to 18
  if culoarea_curenta = culori_valori[f] then  if culoarea_curenta = culori_valori[f] then
- txt = "color ";culori_nume[f];chr(10)+ txt = txt;"color ";culori_nume[f];chr(10)
  color black, darkgray  color black, darkgray
  poly {430, f*20+10, 445, f*20+20, 430, f*20+30}  poly {430, f*20+10, 445, f*20+20, 430, f*20+30}
ro/colorexpressions.1503956849.txt.gz · Last modified: 2020/02/28 10:46 (external edit)