Metoden BuildBiffPalettePlan
Bygger en deterministisk skrivskyddad plan för att representera direkta RGB-färger och lösta temafärger i de 56 fysiska BIFF-palettplatserna
Metoden är tillgänglig i både IXLSWorkbook och TXLSXWorkbook och ändrar aldrig palettposter, format, celler, anpassade färgräknare eller sparandebeteende
Syntax
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
Platsplan
Slots innehåller alltid 56 poster i publikt indexordning från 1 till 56 och i fysisk platsordning från 8 till 63
| Fält | Betydelse |
|---|---|
SourceARGB | Den normaliserade färg som för närvarande är lagrad i palettplatsen |
TargetARGB | Den färg som föreslås för platsen utan att den tillämpas |
DefinitionCount och ReferenceCount | De indexerade konsumenterna som ärvts från ScanIndexedColorUsage |
Kinds | De indexerade konsumentkategorierna som skyddar platsen |
Locked | Sant när källplatsen måste förbli oförändrad |
Changed | Sant när det föreslagna målet skiljer sig från källfärgen |
Målmappningar
Targets aggregerar lika färger och registrerar definitionsantal, antal renderade referenser, konsumentkategorier, effektiv frekvensvikt, valda publika och fysiska index, mappad ARGB, kvadrerat OKLab-fel och status för exakt matchning
Renderade referenser bestämmer den effektiva vikten när de finns; i annat fall håller lagrade definitioner orefererade färger representerade i planen
Direkta och lösta temafärger från teckensnitt, fyllningar, toningar, kantlinjer, differentiella format, databarer och färgskalor deltar i planeringen, medan indexerade, automatiska, ogiltiga och delvis transparenta färger inte blir mål
Planeringsbeteende
Befintliga exakta palettfärger behålls på sin lägsta matchande plats, och indexerade konsumenter låser sina källplatser innan någon ledig plats beaktas
När varje unikt mål får plats får lediga platser exakta färger i deterministisk ARGB-ordning
När det finns fler färger än lediga platser väljer ett frekvensvägt OKLab-klusterpass med fast antal iterationer de återstående målfärgerna, medan låsta och behållna exakta platser förblir fasta
Slutliga mappningar med lika avstånd använder det lägsta publika palettindexet
Planidentitet och statistik
SourcePaletteGeneration och SourcePaletteHash identifierar palettögonblicksbilden som planen byggdes från
LockedSlotCount, ChangedSlotCount, TotalTargetWeight, ExactTargetWeight, WeightedError, MaxDistanceSquared och Quantized sammanfattar resultatet för inspektion och policybeslut
Exempel
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]);