Документация на HotXLS

Метод 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]);

Вижте също