Por que o anti-aliasing em caracteres pretos usa cores diferentes da escala de cinza?

17

Sou desenvolvedor, não sou designer gráfico. Mas há uma pergunta que me incomoda desde que eu a notei há alguns anos atrás.

A suavização de serrilhado é um método para remover a nitidez de divisões de alto contraste, como bordas de caracteres e formas geométricas, se houver alguém que não conheça.

Quando você obtém um caractere anti-serrilhado escrito em preto sobre fundo branco e aumenta o zoom para ver os pixels, há cores diferentes daquelas encontradas na escala de cinza, o que para mim parece ilógico, pois precisamos apenas criar uma transição suave do preto para o branco.

insira a descrição da imagem aqui

Pergunta: Por que as cores diferentes das encontradas na escala de cinza são usadas para suavizar o alias de um caractere preto em um fundo branco?

PS: Eu criaria a tag "anti-aliasing" se tivesse reputação suficiente.


Atualização : Eu pensei em uma teoria agora.
Se as letras devem ser exibidas em um monitor de computador, e a menor parte da tela que pode ser preta é um pixel inteiro composto por três pequenas luzes, isso faria com que o menor ponto de qualquer letra fosse bastante grande, mas se o anti-aliasing composto por pontos adjacentes ou internos pode ser representado por apenas 1/3 de pixel com alguma ajuda da cor para o lado, o que significaria que as letras poderiam ser bem menores.

É isso ?

MarceloRamires
fonte
5
É exatamente isso. É chamado de 'renderização sub-pixel': en.wikipedia.org/wiki/Subpixel_rendering
DA01 14/02
1
Na renderização da fonte, a "suavização" da escala de cinza é geralmente chamada de suavização de serrilhado e essa versão colorida é chamada de renderização de subpixel . Além do link do @ DA01, consulte também: en.wikipedia.org/wiki/Font_rasterization
Jari Keinänen 14/02/11
1
por favor, re-publicar a sua atualização como uma resposta quando você receber uma chance :)
JamesHenare
Whoa, eu entendi direito, afinal .. obrigado pelos links e explicações a todos!
MarceloRamires 15/02

Respostas:

10

Isso é chamado clearType no Windows (ou renderização sub-pixel, como disse Marcelo). A idéia é que, em vez de usar 1 valor para 1 pixel:
(127,127,127) <Cinza

, podemos tornar o lado esquerdo desse pixel menos intenso e o lado direito mais
(55.127.185) - Tonalidade azulada

e o mesmo para os pixels do lado direito
(185.127,55) - A cor laranja
abaixo mostra (sem AA) - (tipo claro inicial) - (tipo claro inicial) - (AA normal) - (tipo claro claro mais recente)
insira a descrição da imagem aqui

Na minha opinião, só funciona bem para fontes pequenas (como a que você está lendo agora).
Para gráficos regulares, você usa AA comum (na verdade, o photoshop não suporta clearType)
Espero que ajude! Desfrutar

Miro
fonte
3

Meu palpite estava certo, afinal:

Se as letras devem ser exibidas em um monitor de computador, e a menor parte da tela que pode ser preta é um pixel inteiro composto por três pequenas luzes, isso faria com que o menor ponto de qualquer letra fosse bastante grande, mas se o anti-aliasing composto por pontos adjacentes ou internos pode ser representado por apenas 1/3 de pixel com alguma ajuda da cor para o lado, o que significaria que as letras poderiam ser bem menores.

Verifique os comentários nas perguntas para obter mais ajuda do DA01 e do koiyu (obrigado).


Apenas para referência, aqui estão os links da Wikipedia nos comentários de DA01 e koiyu:

MarceloRamires
fonte