🎨 OKLCH 暗黑模式颜色转换器 V3.1

智能区分浅色/深色,保持深色元素风格,融合视觉感知科学

OKLCH 感知均匀 • H-K 效应 饱和度补偿 • Weber-Fechner 对数感知 • APCA 对比度保障
☀️ 输入 - Light Mode HTML
Light
🌙 输出 - Dark Mode HTML
Dark
📧 邮件内容
典型的邮件 HTML 格式
📝 富文本
编辑器输出的富文本
📊 表格数据
带样式的数据表格
🃏 卡片组件
UI 卡片和按钮
⚠️ 状态提示
错误/成功/警告提示
🔬 边界情况
极端颜色和透明度
🎯 完整示例
包含所有场景
🧪 进阶测试
边界条件和复杂场景
☀️ Light Mode 预览
原始

输入 HTML 后显示预览

🌙 Dark Mode 预览
转换后

转换后显示预览

📐 V3.1 算法策略(视觉感知优化)

原始颜色 处理策略 目标范围
中等浅色背景 L ∈ [0.5, 0.85] 贝塞尔曲线映射,保留层次 L' ∈ [0.28, 0.40]
高明度浅色背景 L ∈ [0.85, 1.0] 贝塞尔曲线映射,确保可见 L' ∈ [0.20, 0.28]
深色背景 L ≤ 0.5 保持不变,确保最小对比度 |L' - 0.08| ≥ 0.10
深色文字 L ≤ 0.5 反转到浅色 + H-K 效应补偿 L' ∈ [0.60, 0.95]
浅色文字 L > 0.5 保持不变 + H-K 效应补偿 |Lc| ≥ 60
语义色背景 降低明度时提升色度 C' = C × √(L/L')
🔬 视觉感知科学
H-K 效应 高饱和度颜色感知更亮,需降低饱和度避免刺眼 C' = C × (1 - k×√(L-0.6))
Weber-Fechner 人眼对亮度感知是对数关系,暗处更敏感 S 形贝塞尔曲线符合此特性
🎨 语义色保护规则
红色 (Error) - 色相 0°~40° / 340°~360°
绿色 (Success) - 色相 130°~170°
橙黄色 (Warning) - 色相 50°~90°
蓝色 (Primary) - 色相 230°~270°