Antecedentes da percepção de cores:
Devido à natureza do olho humano e ao processamento visual do cérebro, existe uma ilusão de ótica de que a mesma cor terá uma aparência diferente dependendo do fundo .
É conhecido como efeito de contraste , ilustrado abaixo - os retângulos centrais são idênticos:
Fonte: Wikimedia
Uma ilustração (e relatório) da NASA torna o efeito da cor do fundo ainda mais óbvio:
Fonte: Laboratório de Pesquisa de Uso de Cores da NASA
(Observe como as duas cores mais altas na segunda imagem parecem iguais, mas na verdade são completamente diferentes.)
E o web design?
Minha pergunta diz respeito ao design da Web, especificamente neste caso, à cor do texto do link em diferentes origens.
Para uma determinada cor do texto, como encontrar a cor complementar para que ela pareça a mesma em um determinado plano de fundo?
Vamos dar uma olhada em um exemplo para esta pergunta:
Considere o meu exemplo abaixo, com texto amarelo #FFF000
nos seguintes fundos:
- branca
#FFFFFF
, - preto
#000000
, - e cinza
#555555
.
Como esperado, não parece o mesmo. ( Veja e faça o download do arquivo .PSD aqui. )
Como podemos fazer com que pareça o mesmo nos três? Claramente, o texto no fundo branco precisa ser de um amarelo mais escuro, e o texto no cinza precisa de ajustes de matiz / tom. (O texto ao redor também o afetará - mas é provavelmente mais difícil de explicar.)
De alguma forma, essa cor perfeita pode ser calculada com base no Hex, RGB ou outro sistema? É aí que reside o cerne dessa questão, pois seria muito mais eficiente do que a aproximação manual.
Respostas:
Parece que você está procurando o análogo de cores complementares , mas no espaço de leveza , em vez de matiz . Até onde eu sei, esse mapeamento geral não pode existir.
Suponha que você possa compensar o efeito assumindo uma correlação linear entre o plano de fundo e o primeiro plano, para que, à medida que o plano de fundo escurece, o texto do primeiro plano seja iluminado na mesma quantidade. Suponho que a tonalidade permaneça fixa. Sempre haverá um ponto médio no qual o plano de fundo e o primeiro plano compartilham a mesma cor.
Como exemplo, considere preto no branco. A luminosidade inversa para os mesmos tons é branca sobre preta, mas se você tentou encontrar um primeiro plano para cada plano de fundo intermediário da mesma tonalidade, no meio do caminho você bate em cinza sobre cinza e não consegue ver nada.
Pelo mesmo motivo, não vejo que possa existir um mapeamento razoavelmente simples - mesmo um com perda -.
fonte
Que tal isso: use diferentes tons de cinza em fundos diferentes, pintados de branco e preto, para que os primeiros pareçam iguais, mas não quando estiverem contra um neutro.
Deixe-me saber se esses dois conjuntos de patches têm a mesma aparência em cima das linhas em preto e branco:
Porque a aparência desses patches em cima de um cinza neutro é mostrada nesta figura:
Usei o modo de mesclagem de camadas do GIMP, chamado Grain Extract / Merge, que me permitiu encontrar o cinza mais claro extraindo um remendo neutro de outro e, em seguida, o mais escuro, mesclando os dois. Em outras palavras: eu encontrei dois tons de cinza cuja média aditiva é neutra.
Com a cor contra um fundo preto ou branco, você pode usar o Grain Merge para encontrar a cor com média aditiva e, com o Grain Extract, o complementar desta última.
EDIT: confira isso. Você pode encontrar esses amarelos com a mesma aparência.
fonte