BuildBiffPalettePlan metoda
Izgrađuje deterministički plan samo za čitanje za predstavljanje izravnih RGB i razriješenih tematskih boja u 56 fizičkih slotova BIFF palete
Metoda je dostupna i na IXLSWorkbook i na TXLSXWorkbook te nikada ne mijenja zapise palete, stilove, ćelije, brojače prilagođenih boja niti ponašanje pri spremanju
Sintaksa
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
Plan slotova
Slots uvijek sadrži 56 zapisa u redoslijedu javnih indeksa od 1 do 56 i u redoslijedu fizičkih slotova od 8 do 63
| Polje | Značenje |
|---|---|
SourceARGB | Normalizirana boja koja je trenutačno pohranjena u slotu palete |
TargetARGB | Boja predložena za slot, bez njezine primjene |
DefinitionCount i ReferenceCount | Indeksirani potrošači naslijeđeni iz ScanIndexedColorUsage |
Kinds | Kategorije indeksiranih potrošača koje štite slot |
Locked | True kada izvorni slot mora ostati nepromijenjen |
Changed | True kada se predložena ciljna boja razlikuje od izvorne boje |
Ciljna preslikavanja
Targets objedinjuje jednake boje te bilježi broj definicija, broj iscrtanih referenci, vrste potrošača, učinkovitu težinu učestalosti, odabrane javne i fizičke indekse, preslikani ARGB, kvadratnu OKLab pogrešku i status točnog podudaranja
Iscrtane reference određuju učinkovitu težinu kada postoje; u protivnom pohranjene definicije zadržavaju u planu i boje na koje se ništa ne poziva
U planiranju sudjeluju izravne i razriješene tematske boje iz fontova, ispuna, gradijenata, okvira, diferencijalnih stilova, trakovitih dijagrama i skalacija boja, dok indeksirane, automatske, nevažeće i djelomično prozirne boje ne postaju ciljevi
Ponašanje planiranja
Postojeće točne boje palete zadržavaju se na najnižem podudarnom slotu, a indeksirani potrošači zaključavaju svoje izvorne slotove prije nego se u obzir uzme ijedan slobodan slot
Kada se svaki jedinstveni cilj uklopi, slobodni slotovi primaju točne boje u determinističkom ARGB redoslijedu
Kada boja ima više nego slobodnih slotova, prolaz klasteriranja po OKLab-u s težinom učestalosti i fiksnim brojem iteracija odabire preostale ciljne boje dok zaključani i zadržani točni slotovi ostaju fiksni
Konačna preslikavanja pri jednakim udaljenostima upotrebljavaju najniži javni indeks palete
Identitet i statistika plana
SourcePaletteGeneration i SourcePaletteHash identificiraju snimak palete iz kojega je plan izgrađen
LockedSlotCount, ChangedSlotCount, TotalTargetWeight, ExactTargetWeight, WeightedError, MaxDistanceSquared i Quantized sažimaju rezultat radi uvida i odluka o pravilima
Primjer
Plan := Workbook.BuildBiffPalettePlan;
if Plan.Quantized then
LogPaletteError(Plan.WeightedError);
for I := 0 to High(Plan.Slots) do
if Plan.Slots[I].Changed then
PreviewPaletteChange(Plan.Slots[I]);