HotXLS Docs

Власна палітра кольорів

Огляд

Книги Excel керують форматуванням кольорів за допомогою двох моделей: старішої 56-кольорової індексованої палітри в BIFF8 (класичний XLS) та довільних прив'язок RGB або тематичних слотів в OpenXML (XLSX); HotXLS надає API для налаштування індексів відображення палітри та плавного подолання відмінностей між цими форматами

Індексація кольорів палітри

Формат BIFF8 відображає кольори форматування на записи індексів від 8 до 63; використовуйте інтерфейс кольорів книги для перевизначення стандартних визначень кольорів

procedure SetColor(const AIndex: Integer; const AColor: TColor);

Якщо ви призначаєте власне значення RGB безпосередньо клітинці без оновлення індексу палітри, HotXLS автоматично відобразить його на найближчий колір в активній палітрі книги

Детерміноване розв'язання індексованих кольорів

IXLSWorkbook і TXLSXWorkbook розкривають погоджені перевантаження ResolveIndexedColor для інтерпретації індексу без зміни книги

Викликач ідентифікує вихідний простір індексів як публічний ColorIndex, BIFF icv чи OOXML indexed; результат розрізняє палітрові, автоматичні, системні та недійсні токени й повідомляє нормалізоване значення ARGB лише тоді, коли конкретний колір доступний

Системні та автоматичні токени ніколи не читають поточний стільницевий стан неявно; передайте явний розв'язувач системних кольорів, коли потрібен специфічний для середовища вивід RGB

Роль використання зберігає специфічний для формату зміст, наприклад нульовий індекс меж BIFF означає «не визначено», а не чорний

Використовуйте NearestIndexedColor, коли значення RGB треба відобразити на найближчий фізичний запис палітри; спільний кешований зіставник OKLab повертає публічний і фізичний індекси, не змінюючи книгу

Використовуйте ScanIndexedColorUsage, щоб отримати детерміновану інвентаризацію з 56 слотів перед плануванням змін палітри; визначення та посилання зі стилів, об'єктів аркуша, діаграм, приміток і умовного форматування позначають зачеплені слоти як заблоковані

Планування палітри без мутацій

Використовуйте BuildBiffPalettePlan, щоб переглянути, як прямі кольори RGB і розв'язані кольори теми можуть вміститися в 56 фізичних слотів палітри BIFF, не змінюючи книгу

План зберігає кожен індексований слот, позначений як заблокований, утримує наявні точні кольори на найнижчому відповідному слоті, призначає точні кольори, поки є ємність, і використовує зважену за частотою детерміновану кластеризацію OKLab лише тоді, коли унікальні цілі перевищують вільні слоти

Кожна ціль повідомляє обрані публічний і фізичний індекси, відображене значення ARGB, вагу частоти, квадрат перцептуальної відстані та стан точного збігу; підсумкові поля повідомляють точну вагу, зважену похибку, максимальну похибку, змінені слоти та те, чи було потрібне квантування

Покоління і хеш вихідної палітри дозволяють ApplyBiffPalettePlan відхилити застарілий чи підроблений план до зміни будь-якого слота; успішне застосування один раз перебудовує кешований зіставник, а коректний план без дій залишає покоління без змін

Класичні книги також розкривають BiffPaletteSavePolicy; типове значення зберігає історичну палітру, тоді як явне значення оптимізації будує та застосовує поточний план лише для виводу BIFF8 і відновлює початкову палітру, якщо збереження зазнало невдачі чи було скасоване

Відображення кольорів RGB

Книги XLSX обходять обмеження палітри та дозволяють пряме призначення 24-бітних значень RGB; перевірте API перетворення кольорів нижче

  • Властивість Colors книги — Доступ до кольорів палітри за індексом
  • Метод ResolveIndexedColor — Класифікація та опційне розв'язання токенів індексованих кольорів
  • Метод NearestIndexedColor — Пошук найближчого фізичного запису палітри за допомогою кешованого перцептуального зіставлення
  • Метод ScanIndexedColorUsage — Огляд визначень, посилань, видів споживачів і блокувань збереження для кожного фізичного слота палітри
  • Метод BuildBiffPalettePlan — Перегляд детермінованого розміщення true-color і квантування без зміни стану книги
  • Метод ApplyBiffPalettePlan — Перевірка та атомарне застосування поточного 56-слотового плану палітри
  • Властивість BiffPaletteSavePolicy — Вибір збереженого чи явно оптимізованого виводу палітри BIFF8 для класичних книг
  • Огляд моделі кольорів — Логіка перетворення кольорів для класичного XLS
  • Interior SetThemeColor — Налаштування заливки комірок за допомогою тем Office