Suavização com linhas e curvas
Quando você usa GDI+ Para desenhar uma linha, você fornecer o ponto inicial e final da linha, mas não é necessário fornecer informações sobre os pixels individuais na linha. GDI+ funciona em conjunto com o software do driver de vídeo para determinar quais pixels serão ativados para mostrar a linha em um dispositivo de vídeo específico.
Alias
Considere a linha reta vermelha que vai do ponto (4, 2) para o ponto (10, 16).Suponha que o sistema de coordenada tem sua origem no canto superior esquerdo e que a unidade de medida é o pixel.Suponha também que o eixo x aponta para a direita e os pontos de eixo y para baixo.A ilustração a seguir mostra uma visão ampliada de vermelha linha desenhada sobre um plano de fundo multicolorido.
Os pixels vermelhos usados para processar a linha são opacos.A linha não são nenhum pixels parcialmente transparente.Esse tipo de renderização de linha proporciona a linha de uma aparência irregular e a linha é um pouco como uma escada.Essa técnica de representar uma linha com uma escada é chamada serrilhado; a escada é um alias para a linha teórica.
Suavização
Uma técnica mais sofisticada para renderização de uma linha envolve o uso de pixels parcialmente transparente com pixels opacos.Os pixels são conjunto para vermelho puro ou para alguma mistura de vermelho e a cor do plano de fundo, dependendo proximidade que elas são a linha.Esse tipo de renderização é chamado de suavização e resultados em uma linha ao olho humano percebe sistema autônomo mais suave.A ilustração a seguir mostra como alguns pixels são combinados com o plano de fundo para produzir uma linha antialiased.
Suavização, também chamada de suavização, também pode ser aplicada em curvas.A ilustração a seguir mostra uma visão ampliada de uma elipse suavizada.
A ilustração a seguir mostra a elipse mesma em seu dimensionar real, uma vez sem suavização e uma vez com suavização.
Para desenhar linhas e curvas que usam suavização, criar uma instância do Graphics classe e defina seu SmoothingMode propriedade para AntiAlias ou HighQuality. Em seguida, telefonar um dos métodos de desenho do que mesmo Graphics classe.
myGraphics.SmoothingMode = SmoothingMode.AntiAlias
myGraphics.DrawLine(myPen, 0, 0, 12, 8)
myGraphics.SmoothingMode = SmoothingMode.AntiAlias;
myGraphics.DrawLine(myPen, 0, 0, 12, 8);
Consulte também
Tarefas
Como: Usar suavização com texto
Referência
System.Drawing.Drawing2D.SmoothingMode