Metodo BuildBiffPalettePlan
Costruisce un piano deterministico di sola lettura per rappresentare i colori RGB diretti e i colori del tema risolti nei 56 slot fisici della tavolozza BIFF
Il metodo è disponibile sia su IXLSWorkbook sia su TXLSXWorkbook e non modifica mai le voci della tavolozza, gli stili, le celle, i conteggi dei colori personalizzati né il comportamento di salvataggio
Sintassi
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
Piano degli slot
Slots contiene sempre 56 voci nell'ordine degli indici pubblici da 1 a 56 e nell'ordine degli slot fisici da 8 a 63
| Campo | Significato |
|---|---|
SourceARGB | Il colore normalizzato attualmente memorizzato nello slot della tavolozza |
TargetARGB | Il colore proposto per lo slot senza applicarlo |
DefinitionCount e ReferenceCount | I consumer indicizzati ereditati da ScanIndexedColorUsage |
Kinds | Le categorie di consumer indicizzati che proteggono lo slot |
Locked | True quando lo slot di origine deve restare invariato |
Changed | True quando la destinazione proposta differisce dal colore di origine |
Mappature di destinazione
Targets aggrega i colori uguali e registra il numero di definizioni, il numero di riferimenti renderizzati, le categorie di consumer, il peso di frequenza effettivo, gli indici pubblici e fisici selezionati, l'ARGB mappato, l'errore OKLab quadratico e lo stato di corrispondenza esatta
I riferimenti renderizzati determinano il peso effettivo quando presenti; in caso contrario le definizioni memorizzate mantengono la rappresentazione dei colori non referenziati nel piano
I colori diretti e del tema risolti provenienti da caratteri, riempimenti, sfumature, bordi, stili differenziali, barre dati e scale di colori partecipano alla pianificazione, mentre i colori indicizzati, automatici, non validi e parzialmente trasparenti non diventano destinazioni
Comportamento di pianificazione
I colori esatti già presenti nella tavolozza vengono conservati al loro slot corrispondente più basso e i consumer indicizzati bloccano i propri slot di origine prima che venga considerato qualsiasi slot libero
Quando ogni destinazione unica trova posto, gli slot liberi ricevono i colori esatti in ordine ARGB deterministico
Quando esistono più colori che slot liberi, un passaggio di clustering OKLab ponderato per frequenza a iterazioni fisse sceglie i colori di destinazione rimanenti mentre gli slot esatti bloccati e conservati restano fissi
Le mappature finali a pari distanza usano l'indice pubblico più basso della tavolozza
Identità e statistiche del piano
SourcePaletteGeneration e SourcePaletteHash identificano lo snapshot della tavolozza da cui il piano è stato costruito
LockedSlotCount, ChangedSlotCount, TotalTargetWeight, ExactTargetWeight, WeightedError, MaxDistanceSquared e Quantized riassumono il risultato per l'ispezione e le decisioni di politica
Esempio
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]);