Compartilhar via


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

Outros recursos

Linhas, curvas e formas