Recentemente, tive um problema com a suavização de serrilhado de sub-pixel de texto , que produz cores muito duras e me fez pensar em como ele deve ser feito corretamente:
Eu desenhei alguns casos de um ladrilho preto cobrindo terços dos pixels abaixo.
As cores combinam com as que estou vendo, no entanto, quando olho para o texto com suavização de borda, o resultado não é tão brilhante e perturbador:
Suponho que deve haver um equilíbrio entre uma boa intensidade de luz e a cor certa. Quais métodos são usados para suavização de serrilhado de sub-pixel que fornecem bons resultados?
Atualizar:
Renderizei um bule de chá branco em uma imagem com largura 3x e com várias amostras. Abaixo, comparo a média a cada 3 pixels com a atribuição de cada um ao RGB. As cores ainda parecem excessivamente brilhantes em alguns casos (especialmente em comparação com o exemplo acima daqui ), não que meu telefone as capture bem.
fonte
Respostas:
Não tenho certeza do que acontece lá. Observando a renderização de "considerações" em seu exemplo, os "contras" são parecidos com o que você obtém ao executar a suavização de serrilhado de sub-pixel bruto, sem aplicar a "correção" necessária para torná-la boa. Mas então o "der" na mesma palavra parece que não há anti-aliasing de sub-pixel.
Você pode encontrar um bom artigo sobre como o anti-aliasing de sub-pixel bonito funciona aqui https://www.grc.com/ct/ctwhat.htm e para a parte "corrigir" aqui https: //www.grc. com / ct / freeandclear.htm e aqui https://www.grc.com/ct/cttech.htm
O que se resume é: se você apenas calcular as intensidades R / G / B calculando a área coberta para cada sub-pixel, as franjas de cores resultantes serão muito feias / irritantes. Para corrigi-lo, você deve aplicar um filtro de desfoque horizontal / passa-baixo à imagem do sub-pixel. O resultado é uma imagem menos nítida, mas também com cores muito menos saturadas. Ou seja, algo como o seu exemplo "Check you".
fonte
Você simplesmente rasteriza as letras como se fossem três vezes maiores.
Os resultados diferem na maneira como você rasteriza as curvas, principalmente o tipo de esquema de anti-aliasing / sampling que ele usa e se ele usa dicas de fonte . Para uma excelente visão geral, consulte Exposições de rasterização de textos por geometria anti-grão (IIRC, isto é o que o Chromium / PDFium usa) ou a renderização de Subpixel na Wikipedia.
Qual é a imagem anexada, não acredito que tenha algo a ver com a renderização sub-pixel. Pode ser qualquer coisa: geometria de pixel errada, gama incorreta, conversão de espaço de cores incorreta, ...
fonte