Documentazione HotXLS

Tavolozza di colori personalizzata

Panoramica

Le cartelle di lavoro Excel gestiscono la formattazione dei colori utilizzando due modelli: la vecchia tavolozza indicizzata a 56 colori in BIFF8 (XLS classico) e le associazioni RGB arbitrarie o gli slot del tema in OpenXML (XLSX); HotXLS fornisce API per personalizzare gli indici di mappatura della tavolozza e colmare agevolmente le differenze tra questi formati

Indicizzazione dei colori della tavolozza

Il formato BIFF8 mappa i colori di formattazione alle voci di indice da 8 a 63; usa l'interfaccia dei colori della cartella di lavoro per sostituire le definizioni di colore predefinite

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

Se assegni un valore RGB personalizzato direttamente a una cella senza aggiornare l'indice della tavolozza, HotXLS lo mapperà automaticamente al colore più vicino nella tavolozza attiva della cartella di lavoro

Risoluzione deterministica dei colori indicizzati

IXLSWorkbook e TXLSXWorkbook espongono overload di ResolveIndexedColor corrispondenti per interpretare un indice senza modificare la cartella di lavoro

Il chiamante identifica lo spazio di indici sorgente come ColorIndex pubblico, icv BIFF o indexed OOXML; il risultato mantiene distinti i token di tavolozza, automatici, di sistema e non validi, e riporta il valore ARGB normalizzato solo quando è disponibile un colore concreto

I token di sistema e automatici non leggono mai implicitamente il desktop corrente; passa un resolver esplicito dei colori di sistema quando serve un output RGB specifico dell'ambiente

Il ruolo d'uso preserva il significato specifico del formato, come l'indice zero del bordo BIFF che indica "non specificato" e non nero

Usa NearestIndexedColor quando un valore RGB deve essere mappato alla voce fisica più vicina della tavolozza; il matcher OKLab condiviso e in cache restituisce gli indici pubblico e fisico senza modificare la cartella di lavoro

Usa ScanIndexedColorUsage per ottenere un inventario deterministico dei 56 slot prima di pianificare modifiche alla tavolozza; definizioni e riferimenti provenienti da stili, oggetti del foglio di lavoro, grafici, commenti e formati condizionali contrassegnano gli slot interessati come bloccati

Pianificazione della tavolozza senza mutazioni

Usa BuildBiffPalettePlan per vedere in anteprima come i colori RGB diretti e quelli di tema risolti possono occupare i 56 slot fisici della tavolozza BIFF senza modificare la cartella di lavoro

Il piano preserva ogni slot indicizzato segnalato come bloccato, mantiene i colori esistenti esatti nello slot corrispondente più basso, assegna i colori esatti finché c'è capacità e ricorre al clustering OKLab deterministico pesato per frequenza solo quando le destinazioni uniche superano gli slot liberi

Ogni destinazione riporta l'indice pubblico e fisico selezionato, il valore ARGB mappato, il peso di frequenza, la distanza percettiva quadratica e lo stato di corrispondenza esatta; i campi di riepilogo riportano peso esatto, errore pesato, errore massimo, slot modificati e se è stata richiesta la quantizzazione

La generazione e l'hash della tavolozza sorgente permettono ad ApplyBiffPalettePlan di rifiutare un piano non aggiornato o manomesso prima che qualsiasi slot cambi; un'applicazione riuscita ricostruisce una sola volta il matcher in cache e un piano no-op valido lascia invariata la generazione

Le cartelle di lavoro Classic espongono anche BiffPaletteSavePolicy; il valore predefinito preserva la tavolozza storica, mentre il valore di ottimizzazione esplicita costruisce e applica un piano corrente solo per l'output BIFF8 e ripristina la tavolozza originale se il salvataggio fallisce o viene annullato

Mappatura ricca dei colori RGB

Le cartelle di lavoro XLSX aggirano le limitazioni della tavolozza e consentono l'assegnazione diretta di valori RGB a 24 bit; controlla le API di conversione dei colori di seguito