Regiões em GDI+
Uma região é uma parte da área de exibição de um dispositivo de saída. As regiões podem ser simples (um único retângulo) ou complexas (uma combinação de polígonos e curvas fechadas). A ilustração a seguir mostra duas regiões: uma construída a partir de um retângulo e a outra construída a partir de um caminho.
Usando regiões
As regiões são frequentemente usadas para recorte e testes de colisão. O corte envolve restringir o desenho a uma determinada região do ecrã, geralmente a parte que precisa ser atualizada. O teste de colisão envolve verificar se o cursor está numa determinada região da tela quando um botão do rato é pressionado.
Você pode construir uma região a partir de um retângulo ou caminho. Você também pode criar regiões complexas combinando regiões existentes. A classe Region fornece os seguintes métodos para combinar regiões: Intersect, Union, Xor, Excludee Complement.
A intersecção de duas regiões é o conjunto de todos os pontos pertencentes a ambas as regiões. A união é o conjunto de todos os pontos pertencentes a uma ou outra ou ambas as regiões. O complemento de uma região é o conjunto de todos os pontos que não estão na região. A ilustração a seguir mostra a interseção e união das duas regiões mostradas na ilustração anterior.
O método Xor, aplicado a um par de regiões, produz uma região que contém todos os pontos que pertencem a uma região ou a outra, mas não ambos. O método Exclude, aplicado a um par de regiões, produz uma região que contém todos os pontos na primeira região que não estão na segunda região. A ilustração a seguir mostra as regiões resultantes da aplicação dos métodos Xor e Exclude às duas regiões mostradas no início deste tópico.
Para preencher uma região, você precisa de um objeto Graphics, um objeto Brush e um objeto Region. O objeto Graphics fornece o método FillRegion e o objeto Brush armazena atributos do preenchimento, como cor ou padrão. O exemplo a seguir preenche uma região com uma cor sólida.
myGraphics.FillRegion(mySolidBrush, myRegion);
myGraphics.FillRegion(mySolidBrush, myRegion)
Ver também
.NET Desktop feedback