Método BuildBiffPalettePlan
Construye un plan determinista de solo lectura para representar colores RGB directos y colores de tema resueltos en las 56 ranuras físicas de la paleta BIFF
El método está disponible tanto en IXLSWorkbook como en TXLSXWorkbook y nunca cambia entradas de paleta, estilos, celdas, recuentos de colores personalizados ni comportamiento de guardado
Sintaxis
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
Plan de ranuras
Slots siempre contiene 56 entradas en orden de índice público del 1 al 56 y en orden de ranura física del 8 al 63
| Campo | Significado |
|---|---|
SourceARGB | El color normalizado almacenado actualmente en la ranura de la paleta |
TargetARGB | El color propuesto para la ranura sin llegar a aplicarlo |
DefinitionCount y ReferenceCount | Los consumidores indexados heredados de ScanIndexedColorUsage |
Kinds | Las categorías de consumidores indexados que protegen la ranura |
Locked | True cuando la ranura de origen debe permanecer sin cambios |
Changed | True cuando el destino propuesto difiere del color de origen |
Asignaciones de destino
Targets agrega colores iguales y registra el recuento de definiciones, el recuento de referencias representadas, las categorías de consumidores, el peso efectivo de frecuencia, los índices públicos y físicos seleccionados, el ARGB asignado, el error cuadrático OKLab y el estado de coincidencia exacta
Las referencias representadas determinan el peso efectivo cuando existen; de lo contrario, las definiciones almacenadas mantienen los colores sin referencias representados en el plan
Los colores directos y de tema resueltos procedentes de fuentes, rellenos, degradados, bordes, estilos diferenciales, barras de datos y escalas de colores participan en la planificación, mientras que los colores indexados, automáticos, no válidos y parcialmente transparentes no se convierten en destinos
Comportamiento de la planificación
Los colores exactos ya presentes en la paleta se retienen en su ranura coincidente más baja y los consumidores indexados bloquean sus ranuras de origen antes de considerar cualquier ranura libre
Cuando cada destino único cabe, las ranuras libres reciben colores exactos en orden ARGB determinista
Cuando hay más colores que ranuras libres, una pasada de agrupación en clústeres OKLab ponderada por frecuencia y con iteraciones fijas elige los colores de destino restantes, mientras que las ranuras bloqueadas y las exactas retenidas permanecen fijas
Las asignaciones finales a igual distancia usan el índice público más bajo de la paleta
Identidad y estadísticas del plan
SourcePaletteGeneration y SourcePaletteHash identifican la instantánea de la paleta a partir de la cual se construyó el plan
LockedSlotCount, ChangedSlotCount, TotalTargetWeight, ExactTargetWeight, WeightedError, MaxDistanceSquared y Quantized resumen el resultado para su inspección y para tomar decisiones de directiva
Ejemplo
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]);