• 08.10.2020
  • 6 minute de citit
    • P

    • P

    • m

In acest articol

Tabelul de palete este un set de una sau mai multe palete, fiecare continand un numar predefinit de inregistrari de culori. De asemenea, poate contine ID-uri de tabel „nume” care descriu paletele si intrarile acestora.

Paletele sunt definite de un set de inregistrari de culori. Fiecare inregistrare de culoare specifica o culoare in spatiul de culoare sRGB utilizand reprezentarea BGRA pe 8 biti (albastru, verde, rosu, alfa). Spatiul de culoare sRGB este specificat in IEC 61966-2-1: 1999 Sisteme si echipamente multimedia – Masurarea si gestionarea culorii – Partea 2-1: Gestionarea culorilor – Spatiul de culoare RGB implicit – sRGB .

Toate paletele au acelasi numar de inregistrari de culoare, specificate de numColorRecords. Toate inregistrarile de culoare pentru toate paletele sunt aranjate intr-o singura matrice, iar inregistrarile de culoare pentru orice paleta data sunt o secventa contigua de inregistrari de culori din matrice. Prima inregistrare de culoare a fiecarei palete este furnizata in matricea colorRecordIndices.

Multiple colorRecordIndices se pot referi la aceeasi inregistrare de culoare, caz in care mai multe palete ar folosi aceleasi inregistrari de culoare; prin urmare, numarul de palete distincte functional poate fi mai mic decat intrarea numPalettes. De asemenea, secventa inregistrarilor de culori pentru diferite palete se poate suprapune, anumite inregistrari de culori fiind impartite intre mai multe palete. Astfel, numarul total de inregistrari de culori din tabelul CPAL poate fi mai mic decat numarul de intrari de paleta inmultit cu numarul de palete.

Prima paleta, indexul paletei 0, este paleta implicita. In tabelul CPAL trebuie furnizat minimum o paleta daca tabelul este prezent. Paletele trebuie sa aiba minimum o inregistrare de culoare. Nu este permisa o masa CPAL goala, fara palete si fara inregistrari de culori.

Culorile dintr-o paleta sunt mentionate de indexul baza zero. Numarul de culori din fiecare paleta este dat de numPaletteEntries. Numarul de inregistrari de culoare din matricea de inregistrari de culoare (numColorRecords) trebuie sa fie mai mare sau egal cu max (colorRecordIndices) + numPaletteEntries.

Antet tabel paleta

Tabelul CPAL incepe cu un antet care incepe cu un numar de versiune. In prezent, sunt definite doar versiunile 0 si 1.

CPAL versiunea 0

Versiunea de antet CPAL 0 este organizata dupa cum urmeaza:

Tipul Nume Descriere versiunea uint16 Numar versiune tabel (= 0). uint16 numPaletteEntries Numarul de intrari de paleta din fiecare paleta. uint16 numPalettes Numarul de palete din tabel. uint16 numColorRecords Numarul total de inregistrari de culori, combinate pentru toate paletele. Offset32 colorRecordsArrayOffset Offset de la inceputul tabelei CPAL pana la primul ColorRecord. uint16 colorRecordIndices [numPalettes] Indexul primei inregistrari de culoare a fiecarei palete in matricea combinata de inregistrari de culoare.

CPAL versiunea 1

Antetul CPAL versiunea 1 adauga trei campuri suplimentare la sfarsitul antetului tabelului si este organizat dupa cum urmeaza:

Tipul Nume Descriere versiunea uint16 Numar versiune tabel (= 1). uint16 numPaletteEntries Numarul de intrari de paleta din fiecare paleta. uint16 numPalettes Numarul de palete din tabel. uint16 numColorRecords Numarul total de inregistrari de culori, combinate pentru toate paletele. Offset32 colorRecordsArrayOffset Offset de la inceputul tabelei CPAL pana la primul ColorRecord. uint16 colorRecordIndices [numPalettes] Indexul primei inregistrari de culoare a fiecarei palete in matricea combinata de inregistrari de culoare. Offset32 paletteTypesArrayOffset Offset de la inceputul tabelei CPAL la matricea Tipuri de palete. Setati la 0 daca nu este furnizata nicio matrice. Offset32 paletteLabelsArray Offset Offset de la inceputul tabelei CPAL la matricea de etichete a paletei. Setati la 0 daca nu este furnizata nicio matrice. Offset32 paletteEntryLabelsArrayOffset Offset de la inceputul tabelului CPAL la matricea de etichete de intrare a paletei. Setati la 0 daca nu este furnizata nicio matrice.

Intrari in paleta si inregistrari color

Culorile definite in tabelul CPAL sunt mentionate de un index de paleta plus un index de intrare in paleta. Indicii sunt baza zero. Pentru un index de paleta dat si un index de intrare de paleta, se deriva o intrare in matricea de inregistrari de culoare: colorRecordIndex = colorRecordIndices [paletteIndex] + paletteEntryIndex .

Matricea de inregistrari de culoare este alcatuita din inregistrari de culoare:

Tipul Nume Descriere ColorRecord colorRecords [numColorRecords] Inregistrari de culoare pentru toate paletele

Fiecare inregistrare color are valori BGRA. Spatiul de culoare pentru aceste valori este sRGB.

Tipul Nume Descriere uint8 albastru Valoare albastra (B0). uint8 verde Valoare verde (B1). uint8 rosu Valoare rosie (B2). uint8 alfa Valoare alfa (B3).

Culorile din Inregistrarea culorilor nu trebuie multiplicate in prealabil, iar valoarea alfa trebuie setata in mod explicit pentru fiecare intrare a paletei.

O valoare alfa de zero nu inseamna opacitate (complet transparenta); 255 inseamna opac (fara transparenta). Retineti ca valoarea alfa din inregistrarea culorilor poate fi combinata cu si nu inlocuieste atributele alfa sau opacitate setate in contexte de nivel superior.

Atunci cand se plaseaza si se inregistreaza elemente suprapuse, exista posibilitatea „cusaturii”, in care redarea de margine a unui element interfereaza cu celalalt element. Acest lucru poate fi mai mult sau mai putin vizibil in functie de contrastul culorilor utilizate.

Aranjament tip paleta

Tip Nume Descriere uint32 paletteTypes [numPalettes] Matrice de campuri de semnalizare pe 32 de biti care descriu proprietatile fiecarei palete. Vezi mai jos pentru detalii.

Sunt definite urmatoarele steaguri:

Nume masca Descriere 0x0001 USABLE_WITH_LIGHT_BACKGROUND Bit 0: paleta este adecvata pentru a fi utilizata atunci cand se afiseaza fontul pe un fundal deschis, cum ar fi alb. 0x0002 USABLE_WITH_DARK_BACKGROUND Bit 1: paleta este adecvata pentru a fi utilizata la afisarea fontului pe un fundal intunecat, cum ar fi negru. 0xFFFC Rezervat Rezervat pentru utilizare ulterioara – setat la 0.

Retineti ca semnalizatoarele USABLE_WITH_LIGHT_BACKGROUND si USABLE_WITH_DARK_BACKGROUND nu se exclud reciproc: pot fi setate ambele.

Etichete de paleta Array

Tipul Nume Descriere paleta uint16 Etichete [numPalettes] Matrice de ID-uri ale tabelelor „nume” (de obicei in intervalul ID-ului specific al fontului) care specifica sirurile de interfata utilizator asociate cu fiecare paleta. Utilizati 0xFFFF daca nu este furnizat un ID de nume pentru o paleta.

Matrice de etichete de intrare a paletei

Tipul Nume Descriere uint16 paletteEntryLabels [numPaletteEntries] Matrice de ID-uri ale tabelelor „nume” (de obicei in intervalul ID-ului de nume specific fontului) care specifica sirurile de interfata utilizator asociate cu fiecare intrare a paletei, de ex. „Outline”, „Fill”. Acest set de etichete de intrare a paletei se aplica tuturor paletelor din font. Utilizati 0xFFFF daca nu este furnizat un ID de nume pentru o intrare in paleta.

Relatia cu tabelele COLR si SVG

Atat tabelele COLR, cat si cele SVG pot utiliza CPAL pentru a-si defini paletele.

COLR si CPAL

In fonturile care au un tabel COLR, este necesar tabelul CPAL si contine toate culorile specificate in font utilizate de glifele multicolore.

Dupa cum sa mentionat in descrierea tabelului COLR, indicele de intrare a paletei de 0xFFFF daca este specificat in tabelul COLR reprezinta culoarea din prim-plan utilizata in sistem. Aceasta valoare speciala nu se modifica in mai multe palete. Indicele maxim de intrare a paletei este 65535 – 1, deoarece pozitia 65536th este utilizata in tabelul COLR pentru a indica culoarea fontului din prim-plan.

SVG si CPAL

In fonturile care au o tabela SVG, tabelul CPAL poate fi utilizat pentru a contine valorile oricaror variabile de culoare utilizate de descrierile glifelor SVG din tabelul SVG. Cu toate acestea, descrierile glifului SVG pot include direct specificatii de culoare. Astfel, tabelul CPAL este optional pentru fonturile cu un tabel SVG.

Culoarea prim-plan este exprimata prin cuvantul cheie „currentColor” in descrierile glifului SVG.

Cand se utilizeaza cu un tabel SVG, culorile paletei implicite trebuie setate la aceleasi valori ca valorile implicite pentru variabilele de culoare din descrierile glifului SVG; aceasta este pentru motoarele de text care accepta tabelul SVG, dar nu si paletele de culori. Descrierile glifului SVG isi pot exprima si propriile culori explicite sau „codificate”. Acestea nu sunt legate de variabilele de culoare si, prin urmare, nu variaza in functie de selectia paletei. Consultati specificatiile tabelului SVG pentru mai multe detalii.

rossella visconti xxx valentina nappi black cock
faketaxi italia valentina nappi blacked
michel ferrari porno valentina nappi blow
xxx telecamera nascosta valentina nappi blowbang
ele pelosa valentina nappi blowjob
porn a tre valentina nappi brazzers
tube italian porn valentina nappi compilation
rocco’s academy valentina nappi con rocco siffredi
salieri porno valentina nappi creampie
roberta gemma videos valentina nappi dildo
xxx pompe valentina nappi double
centopercento in stream valentina nappi double anal
malena e rocco valentina nappi double penetration
roberta gemma.com valentina nappi dp
italian xxx full movie valentina nappi dredd
giovanna xxx valentina nappi e rocco siffredi video
michelle ferrari interracial valentina nappi evil angel
film centoxcento streaming valentina nappi facial
valentina nappi piedi valentina nappi fan
scopare con un nero valentina nappi figa