ScanIndexedColorUsage metoda
Vraća deterministički popis svih 56 fizičkih slotova palete radne knjige te indeksiranih definicija boja i referenci koje ih upotrebljavaju
Metoda je dostupna i na IXLSWorkbook i na TXLSXWorkbook i ne mijenja paletu, ćelije, stilove, uvjetno oblikovanje niti stanje radne knjige
Sintaksa
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
Rezultat
Vraćeno polje uvijek sadrži 56 zapisa u rastućem redoslijedu fizičkih slotova od 8 do 63
| Polje | Značenje |
|---|---|
ColorIndex | Odgovarajući javni indeks palete od 1 do 56 |
PaletteSlot | Fizički slot indeksirane boje BIFF-a ili OOXML-a od 8 do 63 |
ARGB | Normalizirana neprozirna boja trenutačno pohranjena u slotu, ili nula ako se ne može razriješiti |
DefinitionCount | Broj indeksiranih definicija koje upućuju na slot |
ReferenceCount | Broj objekata, ćelija ili pokrivenih pozicija uvjetnog oblikovanja koje upućuju na te definicije |
Kinds | Skup koji opisuje svaku uočenu kategoriju potrošača |
Locked | True kada slot ima barem jednu definiciju ili referencu pa ga plan optimizacije palete mora zadržati |
Pokrivenost potrošača
Kinds može uključivati fontove, prednje planove ispuna, pozadine ispuna, gradijente, okvire, uvjetno oblikovanje, grafikone, oblike, komentare, postavke radnih listova i druge indeksirane potrošače
Skeniranje Classic XLS-a obuhvaća fontove, ispune i okvire XF-a, mrežne linije radnog lista, boje oblika i komentara, reference na fontove u obogaćenom tekstu i grafikonima, naslijeđeno uvjetno oblikovanje te BIFF12 trakovite dijagrame ili skalacije boja
Skeniranje XLSX-a obuhvaća materijalizirane reference na stilove ćelija, slojeve stilova, imenovane stilove, zbirke fontova, ispuna, gradijenata i okvira, diferencijalne stilove, trakovite dijagrame i skalacije boja
Izravni RGB, tematski, automatski, sustavni i nevažeći tokeni boja ne zaključavaju fizičke slotove palete
Učinkovitost i ugovor o stanju
Skeniranje obilazi samo pohranjene razrjeđene ćelije i postojeće metapodatke stilova; ne materijalizira pakirane ćelije niti obilazi nekorištene koordinate radnog lista
Brojači upotrebljavaju zasićenu 64-bitnu aritmetiku pa veliki rasponi ne mogu iskočiti na manju vrijednost
Ponovljeni pozivi nad nepromijenjenom radnom knjigom vraćaju identične zapise i ostavljaju brojače prilagođenih boja i statistiku spremišta nepromijenjenima
Primjer
Usage := Workbook.ScanIndexedColorUsage;
for I := 0 to High(Usage) do
if Usage[I].Locked then
PreservePaletteSlot(Usage[I].PaletteSlot);