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
- Proprietà Colors della cartella di lavoro — Accedi ai colori della tavolozza per indice
- Metodo ResolveIndexedColor — Classifica e facoltativamente risolve i token di colore indicizzati
- Metodo NearestIndexedColor — Trova la voce fisica più vicina della tavolozza usando il matching percettivo in cache
- Metodo ScanIndexedColorUsage — Esamina definizioni, riferimenti, tipi di consumatore e lock di preservazione per ogni slot fisico della tavolozza
- Metodo BuildBiffPalettePlan — Anteprima deterministica del posizionamento true-color e della quantizzazione senza modificare lo stato della cartella di lavoro
- Metodo ApplyBiffPalettePlan — Valida e applica in modo atomico un piano corrente della tavolozza a 56 slot
- Proprietà BiffPaletteSavePolicy — Seleziona l'output BIFF8 della tavolozza preservato o ottimizzato esplicitamente per le cartelle di lavoro Classic
- Panoramica del modello di colore — Logica di conversione del colore per il XLS classico
- SetThemeColor di Interior — Configura il riempimento delle celle utilizzando i temi di Office