BuildBiffPalettePlan-Methode
Erstellt einen deterministischen schreibgeschützten Plan, der direkte RGB-Farben und aufgelöste Designfarben in den 56 physischen BIFF-Palettenslots darstellt
Die Methode ist sowohl für IXLSWorkbook als auch für TXLSXWorkbook verfügbar und ändert nie Paletteneinträge, Stile, Zellen, benutzerdefinierte Farbanzahlen oder das Speicherverhalten
Syntax
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
Slotplan
Slots enthält immer 56 Einträge in öffentlicher Indexreihenfolge von 1 bis 56 und in physischer Slotreihenfolge von 8 bis 63
| Feld | Bedeutung |
|---|---|
SourceARGB | Die normalisierte Farbe, die derzeit im Palettenslot gespeichert ist |
TargetARGB | Die für den Slot vorgeschlagene Farbe, ohne sie anzuwenden |
DefinitionCount und ReferenceCount | Die aus ScanIndexedColorUsage übernommenen indizierten Consumer |
Kinds | Die indizierten Consumer-Kategorien, die den Slot schützen |
Locked | True, wenn der Quellslot unverändert bleiben muss |
Changed | True, wenn sich das vorgeschlagene Ziel von der Quellfarbe unterscheidet |
Zielzuordnungen
Targets fasst gleiche Farben zusammen und zeichnet Definitionszahl, gerenderte Referenzanzahl, Consumer-Kategorien, wirksames Frequenzgewicht, ausgewählte öffentliche und physische Indizes, zugeordnetes ARGB, quadrierten OKLab-Fehler und Exakttreffer-Status auf
Gerenderte Referenzen bestimmen das wirksame Gewicht, wenn sie vorhanden sind; andernfalls halten gespeicherte Definitionen nicht referenzierte Farben im Plan repräsentiert
Direkte und aufgelöste Designfarben aus Schriftarten, Füllungen, Verläufen, Rahmen, differenziellen Stilen, Datenbalken und Farbskalen gehen in die Planung ein, während indizierte, automatische, ungültige und teilweise transparente Farben keine Ziele werden
Planungsverhalten
Vorhandene exakte Palettenfarben bleiben auf ihrem niedrigsten passenden Slot, und indizierte Consumer sperren ihre Quellslots, bevor ein freier Slot berücksichtigt wird
Wenn jedes eindeutige Ziel hineinpasst, erhalten freie Slots exakte Farben in deterministischer ARGB-Reihenfolge
Gibt es mehr Farben als freie Slots, wählt ein frequenzgewichteter OKLab-Clustering-Durchlauf mit fester Iterationszahl die verbleibenden Zielfarben, während gesperrte und behaltene exakte Slots fest bleiben
Finale Zuordnungen bei gleichem Abstand verwenden den niedrigsten öffentlichen Palettenindex
Planidentität und Statistiken
SourcePaletteGeneration und SourcePaletteHash identifizieren die Palettenmomentaufnahme, aus der der Plan erstellt wurde
LockedSlotCount, ChangedSlotCount, TotalTargetWeight, ExactTargetWeight, WeightedError, MaxDistanceSquared und Quantized fassen das Ergebnis zur Inspektion und für Richtlinienentscheidungen zusammen
Beispiel
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]);