BuildBiffPalettePlan 메서드
직접 RGB 및 해석된 테마 색을 56개의 물리적 BIFF 팔레트 슬롯으로 표현하기 위한 결정론적인 읽기 전용 계획을 빌드합니다
이 메서드는 IXLSWorkbook과 TXLSXWorkbook 모두에서 사용할 수 있으며 팔레트 항목, 스타일, 셀, 사용자 지정 색 수 또는 저장 동작을 절대 변경하지 않습니다
구문
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
슬롯 계획
Slots는 항상 1부터 56까지 공용 인덱스 순서 및 8부터 63까지 물리적 슬롯 순서로 56개 항목을 포함합니다
| 필드 | 의미 |
|---|---|
SourceARGB | 팔레트 슬롯에 현재 저장된 정규화된 색 |
TargetARGB | 적용하지 않고 슬롯에 제안된 색 |
DefinitionCount 및 ReferenceCount | ScanIndexedColorUsage에서 상속된 인덱스 소비자 수 |
Kinds | 슬롯을 보호하는 인덱스 소비자 범주 |
Locked | 소스 슬롯을 변경하지 말아야 할 때 true |
Changed | 제안된 대상이 소스 색과 다를 때 true |
대상 매핑
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]);