Documentación HotXLS

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

CampoSignificado
SourceARGBEl color normalizado almacenado actualmente en la ranura de la paleta
TargetARGBEl color propuesto para la ranura sin aplicarlo
DefinitionCount y ReferenceCountLos consumidores indexados heredados de ScanIndexedColorUsage
KindsLas categorías de consumidores indexados que protegen la ranura
LockedTrue cuando la ranura de origen debe permanecer sin cambios
ChangedTrue 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 de frecuencia efectivo, 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 están presentes; de lo contrario, las definiciones almacenadas mantienen los colores sin referencias representados en el plan

Los colores directos y de tema resueltos 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, inválidos y parcialmente transparentes no se convierten en destinos

Comportamiento de la planificación

Los colores exactos existentes 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 todos los destinos únicos caben, las ranuras libres reciben colores exactos en orden ARGB determinista

Cuando hay más colores que ranuras libres, una pasada de agrupamiento 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 de paleta más bajo

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 política

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]);

Véase también