HotXLS-dokumentation

Tilpasset farvepalet

Oversigt

Excel-projektmapper håndterer farveformatering via to modeller: den ældre 56-farvers indekserede palet i BIFF8 (klassisk XLS) og vilkårlige RGB-bindinger eller temapladser i OpenXML (XLSX); HotXLS tilbyder API'er til at tilpasse palettens indekskortlægning og bygge bro mellem de to formater

Paletfarveindeksering

BIFF8-formatet knytter formateringsfarver til indeksværdier fra 8 til 63; brug projektbogens farvegrænseflade til at tilsidesætte standardfarvedefinitionerne

procedure SetColor(const AIndex: Integer; const AColor: TColor);

Tildeler du en tilpasset RGB-værdi direkte til en celle uden at opdatere paletindekset, knytter HotXLS den automatisk til den nærmeste farve i projektbogens aktive palet

Deterministisk opløsning af indekserede farver

IXLSWorkbook og TXLSXWorkbook eksponerer sammenhørende ResolveIndexedColor-overloads til at fortolke et indeks uden at ændre projektmappen

Kalderen angiver kildens indeksrum som offentligt ColorIndex, BIFF-icv eller OOXML-indexed; resultatet holder palet-, automatik-, system- og ugyldige tokens adskilt og rapporterer den normaliserede ARGB-værdi, når der findes en konkret farve

System- og automatik-tokens læser aldrig underforstået det aktuelle desktop-miljø; giv en eksplicit systemfarve-resolver, når der kræves miljøafhængigt RGB-output

Anvendelsesrollen bevarer formatspecifik betydning, f.eks. at BIFF'ets kantindeks nul betyder "ikke angivet" og ikke sort

Brug NearestIndexedColor, når en RGB-værdi skal mappes til den nærmeste fysiske paletpost; den delte, cachede OKLab-matcher returnerer offentlige og fysiske indeks uden at ændre projektmappen

Brug ScanIndexedColorUsage til at få et deterministisk inventar af alle 56 pladser, før du planlægger paletændringer; definitioner og referencer fra typografier, regnearksobjekter, diagrammer, kommentarer og betingede formater markerer de berørte pladser som låst

Paletplanlægning uden mutationer

Brug BuildBiffPalettePlan til at se, hvordan direkte RGB- og opløste temafarver kan placeres i de 56 fysiske BIFF-paletpladser, uden at projektmappen ændres

Planen bevarer alle indekserede pladser, der er rapporteret som låst, fastholder eksisterende eksakte farver på den laveste matchende plads, tildeler eksakte farver, mens der er kapacitet, og bruger frekvensvægtet deterministisk OKLab-klyngedannelse, når de unikke mål overstiger de ledige pladser

Hvert mål rapporterer sit valgte offentlige og fysiske indeks, sin mappede ARGB-værdi, frekvensvægt, kvadreret perceptuel afstand og præcis-match-status; opsummeringsfelterne rapporterer eksakt vægt, vægtet fejl, maksimal fejl, ændrede pladser og om kvantisering var nødvendig

Kildepalletens generation og hash lader ApplyBiffPalettePlan afvise en forældet eller manipuleret plan, før nogen plads ændres; en vellykket anvendelse genopbygger den cachede matcher én gang, og en gyldig no-op-plan lader generationen stå uændret

Klassiske projektmapper eksponerer også BiffPaletteSavePolicy; standardværdien bevarer den historiske palet, mens den eksplicitte optimeringsværdi kun bygger og anvender en aktuel plan til BIFF8-output og gendanner den oprindelige palet, hvis gemningen fejler eller annulleres

Rich RGB-farvetilknytning

XLSX-projektmapper omgår paletbegrænsningerne og tillader direkte tildeling af 24-bit RGB-værdier; se farvekonverterings-API'erne nedenfor