HotXLS-dokumentasjon

Tilpasset fargepalett

Oversikt

Excel-arbeidsbøker håndterer fargeformatering via to modeller: den eldre 56-fargers indekspaletten i BIFF8 (klassisk XLS) og vilkårlige RGB-bindinger eller temaplasser i OpenXML (XLSX); HotXLS tilbyr API-er for å tilpasse indekser for palett-tilordning og bygge en bro over forskjellene mellom disse formatene

Palettfargeindeksering

BIFF8-formatet tilordner formateringsfarger til indeksposter fra 8 til 63; bruk arbeidsbokens fargegrensesnitt for å overstyre standard fargedefinisjoner

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

Hvis du tilordner en tilpasset RGB-verdi direkte til en celle uten å oppdatere palettindekset, vil HotXLS automatisk tilordne den til den nærmeste fargen i arbeidsbokens aktive palett

Deterministisk indeksfargeoppløsning

IXLSWorkbook og TXLSXWorkbook eksponerer samsvarende ResolveIndexedColor-overbelastninger for å tolke en indeks uten å endre arbeidsboken

Den som kaller, identifiserer kildeindeksområdet som offentlig ColorIndex, BIFF icv eller OOXML indexed; resultatet holder palett-, automatiske, system- og ugyldige token atskilt, og rapporterer den normaliserte ARGB-verdien bare når en konkret farge er tilgjengelig

System- og automatisk-token leser aldri gjeldende skrivebord implisitt; send inn en eksplisitt systemfarge-resolver når miljøspesifikk RGB-utdata kreves

Bruksrollen bevarer formatspesifikk betydning, slik som at BIFF-kantindeks null betyr uspesifisert fremfor svart

Bruk NearestIndexedColor når en RGB-verdi må tilordnes den nærmeste fysiske palettposten; den delte, hurtigbufrede OKLab-matcheren returnerer offentlige og fysiske indekser uten å endre arbeidsboken

Bruk ScanIndexedColorUsage for å få et deterministisk oversiktsbilde over alle 56 plassene før du planlegger palettendringer; definisjoner og referanser fra stiler, regnearkobjekter, diagrammer, kommentarer og betinget formatering merker de berørte plassene som låst

Mutasjonsfri palettplanlegging

Bruk BuildBiffPalettePlan for å forhåndsvise hvordan direkte RGB-farger og løste temafarger kan plasseres i de 56 fysiske BIFF-palettplassene uten å endre arbeidsboken

Planen bevarer hver indeksplass som er rapportert som låst, beholder eksisterende eksakte farger på den laveste samsvarende plassen, tildeler eksakte farger så lenge det er kapasitet, og bruker frekvensvektet deterministisk OKLab-klynging bare når unike mål overskrider de ledige plassene

Hvert mål rapporterer sin valgte offentlige og fysiske indeks, tilordnet ARGB-verdi, frekvensvekt, kvadrert perceptuell avstand og tilstanden for eksakt treff; sammendragsfeltene rapporterer eksakt vekt, vektet feil, maksimal feil, endrede plasser og om kvantisering var nødvendig

Kildepalettens generasjon og hash lar ApplyBiffPalettePlan avvise en utdatert eller manipulert plan før noen plass endres; en vellykket anvendelse bygger den bufrede matcheren på nytt én gang, og en gyldig tom-handling-plan lar generasjonen stå uendret

Klassiske arbeidsbøker eksponerer også BiffPaletteSavePolicy; standardverdien bevarer den historiske paletten, mens den eksplisitte optimeringsverdien bygger og anvender en aktuell plan bare for BIFF8-utdata, og gjenoppretter originalpaletten hvis lagringen mislykkes eller avbrytes

Rich RGB-fargetilordning

XLSX-arbeidsbøker går utenom palettbegrensninger og tillater direkte tilordning av 24-biters RGB-verdier; se API-ene for fargekonvertering nedenfor