<script setup lang="ts">import { computed, ref } from 'vue'import { NColorPicker } from 'naive-ui'// 获取背景颜色的 RGB 值(假设这里获取到了背景颜色的值)const bgColor = ref('#000000') // 假设为蓝色// 计算颜色的明暗度const calculateLuminance = (color: string) => { const hex = color.replace(/^#/, '') const r = parseInt(hex.substring(0, 2), 16) const g = parseInt(hex.substring(2, 4), 16) const b = parseInt(hex.substring(4, 6), 16) return (0.299 * r + 0.587 * g + 0.114 * b) / 255}// 根据明暗度切换文本颜色const textColor = computed(() => { const luminance = calculateLuminance(bgColor.value) return luminance > 0.5 ? 'black' : 'white'})</script><template> <div :style="{ backgroundColor: bgColor, color: textColor }"> Background Color Example </div> <NColorPicker v-model:value="bgColor" /></template><style scoped>/* 样式可以根据实际需求自定义 */div { width: 200px; height: 100px; display: flex; justify-content: center; align-items: center; font-size: 18px;}</style>