Bảng màu tùy chỉnh
Tổng quan
Sổ làm việc Excel quản lý định dạng màu bằng hai mô hình: bảng màu chỉ mục 56 màu cũ hơn trong BIFF8 (XLS cổ điển) và liên kết RGB tùy ý hoặc khe chủ đề trong OpenXML (XLSX); HotXLS cung cấp các API để tùy chỉnh chỉ số ánh xạ bảng màu và kết nối suôn sẻ sự khác biệt giữa các định dạng này
Lập chỉ mục màu bảng màu
Định dạng BIFF8 ánh xạ màu định dạng đến các mục chỉ mục từ 8 đến 63; sử dụng giao diện màu sổ làm việc để ghi đè các định nghĩa màu mặc định
procedure SetColor(const AIndex: Integer; const AColor: TColor);
Nếu bạn gán trực tiếp giá trị RGB tùy chỉnh cho một ô mà không cập nhật chỉ mục bảng màu, HotXLS sẽ tự động ánh xạ nó đến màu gần nhất trong bảng màu đang hoạt động của sổ làm việc
Phân giải màu chỉ mục tất định
IXLSWorkbook và TXLSXWorkbook phơi bày các overload ResolveIndexedColor tương ứng để diễn giải một chỉ mục mà không làm thay đổi workbook
Phía gọi khai báo không gian chỉ mục nguồn là ColorIndex công khai, icv của BIFF, hay indexed của OOXML; kết quả phân biệt rõ token bảng màu, automatic, system và không hợp lệ, và chỉ báo cáo giá trị ARGB đã chuẩn hóa khi có màu cụ thể
Các token system và automatic không bao giờ đọc ngầm desktop hiện tại; hãy truyền một resolver màu hệ thống tường minh khi cần đầu ra RGB phụ thuộc môi trường
Vai trò sử dụng (usage role) giữ nguyên ý nghĩa riêng của từng định dạng, chẳng hạn chỉ mục viền BIFF bằng 0 nghĩa là chưa xác định chứ không phải màu đen
Dùng NearestIndexedColor khi một giá trị RGB cần được ánh xạ về mục bảng màu vật lý gần nhất; bộ khớp OKLab có cache dùng chung trả về cả chỉ mục công khai lẫn vật lý mà không thay đổi workbook
Dùng ScanIndexedColorUsage để lấy bảng kê 56 khe tất định trước khi lập kế hoạch thay đổi bảng màu; các định nghĩa và tham chiếu từ style, đối tượng worksheet, biểu đồ, comment và định dạng có điều kiện sẽ đánh dấu các khe bị ảnh hưởng là khóa
Lập kế hoạch bảng màu không biến đổi
Dùng BuildBiffPalettePlan để xem trước cách RGB trực tiếp và màu chủ đề đã phân giải có thể vừa vào 56 khe bảng màu vật lý của BIFF mà không thay đổi workbook
Kế hoạch này giữ nguyên mọi khe chỉ mục được báo là khóa, giữ màu chính xác sẵn có ở khe khớp thấp nhất, gán màu chính xác trong khi còn dung lượng, và chỉ dùng phân cụm OKLab tất định có trọng số tần suất khi số đích phân biệt vượt quá số khe trống
Mỗi đích báo cáo chỉ mục công khai và vật lý đã chọn, giá trị ARGB đã ánh xạ, trọng số tần suất, khoảng cách cảm nhận bình phương, và trạng thái khớp chính xác; các trường tổng hợp báo cáo trọng số chính xác, sai số có trọng số, sai số lớn nhất, số khe đã đổi, và có cần lượng tử hóa hay không
Thế hệ và hash của bảng màu nguồn giúp ApplyBiffPalettePlan từ chối kế hoạch cũ hoặc bị can thiệp trước khi khe nào thay đổi; một lần áp dụng thành công chỉ dựng lại bộ khớp có cache một lần, còn kế hoạch no-op hợp lệ giữ nguyên thế hệ
Workbook cổ điển còn phơi bày BiffPaletteSavePolicy; giá trị mặc định giữ nguyên bảng màu lịch sử, còn giá trị tối ưu hóa tường minh chỉ dựng và áp dụng kế hoạch hiện tại cho đầu ra BIFF8, và khôi phục bảng màu gốc nếu việc lưu thất bại hoặc bị hủy
Ánh xạ màu RGB phong phú
Sổ làm việc XLSX bỏ qua các giới hạn bảng màu và cho phép gán trực tiếp các giá trị RGB 24-bit; xem các API chuyển đổi màu bên dưới
- Thuộc tính Workbook Colors — Truy cập màu bảng màu theo chỉ mục
- Phương thức ResolveIndexedColor — Phân loại và tùy chọn phân giải các token màu chỉ mục
- Phương thức NearestIndexedColor — Tìm mục bảng màu vật lý gần nhất bằng khớp cảm nhận có cache
- Phương thức ScanIndexedColorUsage — Kiểm tra định nghĩa, tham chiếu, loại bên tiêu thụ và khóa bảo toàn cho mọi khe bảng màu vật lý
- Phương thức BuildBiffPalettePlan — Xem trước cách xếp màu thực tất định và lượng tử hóa mà không đổi trạng thái workbook
- Phương thức ApplyBiffPalettePlan — Xác thực và áp dụng nguyên tử kế hoạch bảng màu 56 khe hiện tại
- Thuộc tính BiffPaletteSavePolicy — Chọn đầu ra bảng màu BIFF8 được bảo toàn hoặc tối ưu hóa tường minh cho workbook cổ điển
- Tổng quan về mô hình màu — Logic chuyển đổi màu cho XLS cổ điển
- Interior SetThemeColor — Cấu hình màu tô ô bằng chủ đề Office