Власна палітра кольорів
Огляд
Книги 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