Documentazione HotXLS

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

CampoSignificato
SourceARGBIl colore normalizzato attualmente memorizzato nello slot della tavolozza
TargetARGBIl colore proposto per lo slot senza applicarlo
DefinitionCount e ReferenceCountI consumer indicizzati ereditati da ScanIndexedColorUsage
KindsLe categorie di consumer indicizzati che proteggono lo slot
LockedTrue quando lo slot di origine deve restare invariato
ChangedTrue 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]);

Vedere anche