Метод BuildBiffPalettePlan
Изгражда детерминиран план само за четене за представянето на директни RGB и разрешени тематични цветове в 56-те физически слота на BIFF палитрата
Методът е наличен както в IXLSWorkbook, така и в TXLSXWorkbook и никога не променя записи на палитрата, стилове, клетки, бройки на персонализирани цветове или поведение при запис
Синтаксис
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
План на слотовете
Slots винаги съдържа 56 записа в ред на публичните индекси от 1 до 56 и в ред на физическите слотове от 8 до 63
| Поле | Значение |
|---|---|
SourceARGB | Нормализираният цвят, съхраняван в момента в слота на палитрата |
TargetARGB | Цветът, предлагаан за слота, без да бъде прилаган |
DefinitionCount и ReferenceCount | Индексираните потребители, наследени от ScanIndexedColorUsage |
Kinds | Категориите индексирани потребители, които защитават слота |
Locked | Истина, когато изходният слот трябва да остане непроменен |
Changed | Истина, когато предложеният целеви цвят се различава от изходния |
Целеви съответствия
Targets обединява равните цветове и записва брой дефиниции, брой изчертани препратки, категории потребители, ефективна тежест на честотата, избрани публични и физически индекси, съпоставен ARGB, квадратична OKLab грешка и статус на точно съответствие
Изчертаните препратки определят ефективната тежест, когато са налични; в противен случай съхраняваните дефиниции запазват в плана представяне и на цветове без препратки
Директни и разрешени тематични цветове от шрифтове, запълвания, градиенти, граници, диференциални стилове, лентови диаграми и цветни скали участват в планирането, докато индексирани, автоматични, невалидни и частично прозрачни цветове не стават цели
Поведение на планирането
Съществуващите точни цветове на палитрата се запазват на най-ниския им съответстващ слот, а индексираните потребители заключват изходните си слотове, преди да бъде разгледан някой свободен слот
Когато всяка уникална цел се събере, свободните слотове получават точни цветове в детерминиран ARGB ред
Когато има повече цветове, отколкото свободни слотове, проход на групиране по OKLab с претеглена честота и фиксиран брой итерации избира останалите целеви цветове, докато заключените и запазените точни слотове остават фиксирани
Крайните съответствия с равни разстояния използват най-ниския публичен индекс на палитрата
Идентичност и статистика на плана
SourcePaletteGeneration и SourcePaletteHash идентифицират моментната снимка на палитрата, от която е изграден планът
LockedSlotCount, ChangedSlotCount, TotalTargetWeight, ExactTargetWeight, WeightedError, MaxDistanceSquared и Quantized обобщават резултата за инспекция и решения по правила
Пример
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]);