Metoda BuildBiffPalettePlan
Buduje deterministyczny plan tylko do odczytu do przedstawienia bezpośrednich kolorów RGB i rozwiązanych kolorów motywu w 56 fizycznych slotach palety BIFF
Metoda jest dostępna zarówno w IXLSWorkbook, jak i w TXLSXWorkbook i nigdy nie zmienia wpisów palety, stylów, komórek, liczników kolorów niestandardowych ani zachowania zapisu
Składnia
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
Plan slotów
Slots zawsze zawiera 56 wpisów w kolejności indeksów publicznych od 1 do 56 i kolejności slotów fizycznych od 8 do 63
| Pole | Znaczenie |
|---|---|
SourceARGB | Znormalizowany kolor obecnie zapisany w slocie palety |
TargetARGB | Kolor proponowany dla slotu, bez jego stosowania |
DefinitionCount i ReferenceCount | Indeksowani konsumenci odziedziczeni z ScanIndexedColorUsage |
Kinds | Kategorie indeksowanych konsumentów chroniące slot |
Locked | True, gdy slot źródłowy musi pozostać bez zmian |
Changed | True, gdy proponowany cel różni się od koloru źródłowego |
Odwzorowania docelowe
Targets agreguje równe kolory i zapisuje liczbę definicji, liczbę wyrenderowanych odwołań, kategorie konsumentów, efektywną wagę częstości, wybrane indeksy publiczny i fizyczny, odwzorowany ARGB, kwadrat błędu OKLab oraz status dokładnego dopasowania
Wyrenderowane odwołania określają efektywną wagę, gdy są obecne; w przeciwnym razie zapisane definicje utrzymują w planie kolory bez odwołań
W planowaniu uczestniczą bezpośrednie i rozwiązane kolory motywu z czcionek, wypełnień, gradientów, obramowań, stylów różnicowych, pasków danych i skal kolorów, natomiast kolory indeksowane, automatyczne, nieprawidłowe i częściowo przezroczyste nie stają się celami
Zachowanie planowania
Istniejące dokładne kolory palety pozostają na ich najniższym pasującym slocie, a indeksowani konsumenci blokują swoje sloty źródłowe, zanim rozważony zostanie jakikolwiek wolny slot
Gdy każdy unikalny cel się mieści, wolne sloty otrzymują dokładne kolory w deterministycznej kolejności ARGB
Gdy kolorów jest więcej niż wolnych slotów, przebieg klasteryzacji OKLab ważonej częstością o stałej liczbie iteracji wybiera pozostałe kolory docelowe, podczas gdy zablokowane i zachowane sloty dokładne pozostają stałe
Końcowe odwzorowania przy równej odległości używają najniższego publicznego indeksu palety
Tożsamość planu i statystyki
SourcePaletteGeneration i SourcePaletteHash identyfikują migawkę palety, z której zbudowano plan
LockedSlotCount, ChangedSlotCount, TotalTargetWeight, ExactTargetWeight, WeightedError, MaxDistanceSquared i Quantized podsumowują wynik dla inspekcji i decyzji dotyczących polityki
Przykład
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]);