Rectangle.Intersect Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Determina a Rectangle estrutura que representa a interseção de dois retângulos.
Sobrecargas
| Name | Description |
|---|---|
| Intersect(Rectangle, Rectangle) |
Devolve uma terceira Rectangle estrutura que representa a interseção de outras Rectangle duas estruturas. Se não houver interseção, um vazio Rectangle é devolvido. |
| Intersect(Rectangle) |
Substitui isto Rectangle pela interseção de si próprio e o especificado Rectangle. |
Intersect(Rectangle, Rectangle)
public:
static System::Drawing::Rectangle Intersect(System::Drawing::Rectangle a, System::Drawing::Rectangle b);
public static System.Drawing.Rectangle Intersect(System.Drawing.Rectangle a, System.Drawing.Rectangle b);
static member Intersect : System.Drawing.Rectangle * System.Drawing.Rectangle -> System.Drawing.Rectangle
Public Shared Function Intersect (a As Rectangle, b As Rectangle) As Rectangle
Parâmetros
Um retângulo para se cruzar.
Um retângulo para se cruzar.
Devoluções
A Rectangle que representa a interseção de a e b.
Exemplos
O seguinte exemplo de código demonstra os Intersect, IsEmpty e os IntersectsWith membros. Este exemplo deve ser usado com um Windows Form. Cole este código num formulário e chame este método ao tratar o evento do Paint formulário, passando e como PaintEventArgs.
private:
void StaticRectangleIntersection( PaintEventArgs^ e )
{
Rectangle rectangle1 = Rectangle(50,50,200,100);
Rectangle rectangle2 = Rectangle(70,20,100,200);
e->Graphics->DrawRectangle( Pens::Black, rectangle1 );
e->Graphics->DrawRectangle( Pens::Red, rectangle2 );
if ( rectangle1.IntersectsWith( rectangle2 ) )
{
Rectangle rectangle3 = Rectangle::Intersect( rectangle1, rectangle2 );
if ( !rectangle3.IsEmpty )
{
e->Graphics->FillRectangle( Brushes::Green, rectangle3 );
}
}
}
private void StaticRectangleIntersection(PaintEventArgs e)
{
Rectangle rectangle1 = new Rectangle(50, 50, 200, 100);
Rectangle rectangle2 = new Rectangle(70, 20, 100, 200);
Rectangle rectangle3 = new Rectangle();
e.Graphics.DrawRectangle(Pens.Black, rectangle1);
e.Graphics.DrawRectangle(Pens.Red, rectangle2);
if (rectangle1.IntersectsWith(rectangle2))
{
rectangle3 = Rectangle.Intersect(rectangle1, rectangle2);
if (!rectangle3.IsEmpty)
{
e.Graphics.FillRectangle(Brushes.Green, rectangle3);
}
}
}
Private Sub StaticRectangleIntersection(ByVal e As PaintEventArgs)
Dim rectangle1 As New Rectangle(50, 50, 200, 100)
Dim rectangle2 As New Rectangle(70, 20, 100, 200)
Dim rectangle3 As New Rectangle
e.Graphics.DrawRectangle(Pens.Black, rectangle1)
e.Graphics.DrawRectangle(Pens.Red, rectangle2)
If (rectangle1.IntersectsWith(rectangle2)) Then
rectangle3 = Rectangle.Intersect(rectangle1, rectangle2)
If Not rectangle3.IsEmpty Then
e.Graphics.FillRectangle(Brushes.Green, rectangle3)
End If
End If
End Sub
Aplica-se a
Intersect(Rectangle)
public:
void Intersect(System::Drawing::Rectangle rect);
public void Intersect(System.Drawing.Rectangle rect);
member this.Intersect : System.Drawing.Rectangle -> unit
Public Sub Intersect (rect As Rectangle)
Parâmetros
Exemplos
O seguinte exemplo de código demonstra os Intersect, IsEmpty e os IntersectsWith membros. Este exemplo deve ser usado com um Windows Form. Cole este código num formulário e chame este método ao tratar o evento do Paint formulário, passando e como PaintEventArgs.
private:
void InstanceRectangleIntersection( PaintEventArgs^ e )
{
Rectangle rectangle1 = Rectangle(50,50,200,100);
Rectangle rectangle2 = Rectangle(70,20,100,200);
e->Graphics->DrawRectangle( Pens::Black, rectangle1 );
e->Graphics->DrawRectangle( Pens::Red, rectangle2 );
if ( rectangle1.IntersectsWith( rectangle2 ) )
{
rectangle1.Intersect( rectangle2 );
if ( !rectangle1.IsEmpty )
{
e->Graphics->FillRectangle( Brushes::Green, rectangle1 );
}
}
}
private void InstanceRectangleIntersection(PaintEventArgs e)
{
Rectangle rectangle1 = new Rectangle(50, 50, 200, 100);
Rectangle rectangle2 = new Rectangle(70, 20, 100, 200);
e.Graphics.DrawRectangle(Pens.Black, rectangle1);
e.Graphics.DrawRectangle(Pens.Red, rectangle2);
if (rectangle1.IntersectsWith(rectangle2))
{
rectangle1.Intersect(rectangle2);
if (!rectangle1.IsEmpty)
{
e.Graphics.FillRectangle(Brushes.Green, rectangle1);
}
}
}
Private Sub InstanceRectangleIntersection( _
ByVal e As PaintEventArgs)
Dim rectangle1 As New Rectangle(50, 50, 200, 100)
Dim rectangle2 As New Rectangle(70, 20, 100, 200)
e.Graphics.DrawRectangle(Pens.Black, rectangle1)
e.Graphics.DrawRectangle(Pens.Red, rectangle2)
If (rectangle1.IntersectsWith(rectangle2)) Then
rectangle1.Intersect(rectangle2)
If Not (rectangle1.IsEmpty) Then
e.Graphics.FillRectangle(Brushes.Green, rectangle1)
End If
End If
End Sub