"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso ajustar dinamicamente a cor do texto com base no brilho do fundo?

Como posso ajustar dinamicamente a cor do texto com base no brilho do fundo?

Publicado em 2024-11-11
Navegar:329

How Can I Dynamically Adjust Text Color Based on Background Brightness?

Ajustando a cor do texto com base no brilho do plano de fundo

Alcançar a legibilidade ideal geralmente requer o ajuste da cor do texto para contrastar com o plano de fundo. Nesse caso, o efeito desejado é alternar dinamicamente a cor do texto ou das imagens com base no nível de brilho dos pixels de fundo.

Abordagens para ajuste de contraste

  • Cálculo de luminosidade: Calcule a média ponderada dos canais de cores (RGB) para determinar o nível de brilho.
  • Contraste Proporção: Compare o brilho do texto e do fundo para garantir contraste suficiente para acessibilidade visual.

Recursos disponíveis

  • Verificador de contraste W3C: O World Wide Web Consortium (W3C) fornece um algoritmo padronizado para calcular o brilho de uma cor e garantir contraste.
  • Cálculo do brilho da cor: Explore recursos online que oferecem funções para quantificar o brilho de uma determinada cor.

Algoritmo de contraste W3C

const rgb = [255, 0, 0];

function setContrast() {
  // Calculate brightness
  const brightness = Math.round(((parseInt(rgb[0]) * 299)  
                      (parseInt(rgb[1]) * 587)  
                      (parseInt(rgb[2]) * 114)) / 1000);
  // Set text color
  const textColour = (brightness > 125) ? 'black' : 'white';
  // Set background color
  const backgroundColour = 'rgb('   rgb[0]   ','   rgb[1]   ','   rgb[2]   ')';

  $('#bg').css('color', textColour); 
  $('#bg').css('background-color', backgroundColour);
}

Este algoritmo garante uma seleção visualmente ideal da cor do texto com base no brilho do fundo.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3