Rect 구조체

정의

사각형의 너비, 높이 및 위치를 설명합니다.

public value class Rect : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))]
[System.Serializable]
public struct Rect : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))]
public struct Rect : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))>]
[<System.Serializable>]
type Rect = struct
    interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.RectConverter))>]
type Rect = struct
    interface IFormattable
Public Structure Rect
Implements IFormattable
상속
특성
구현

예제

다음 예제에서는 사용 하는 방법을 보여 줍니다는 Rect 차원 및 XAML을 사용 하 여 사각형의 위치를 지정 하는 구조입니다.

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;

namespace SDKSample
{
    public partial class RectExample : Page
    {
        public RectExample()
        {   
            Path myPath1 = new Path();
            myPath1.Stroke = Brushes.Black;
            myPath1.StrokeThickness = 1;
            SolidColorBrush mySolidColorBrush = new SolidColorBrush();
            mySolidColorBrush.Color = Color.FromArgb(255, 204, 204, 255);
            myPath1.Fill = mySolidColorBrush;

            // Create the rectangle.
            // This RectangleGeometry specifies a rectangle that is 100 pixels high and
            // 150 wide. The left side of the rectangle is 10 pixels from the left of the 
            // Canvas and the top side of the rectangle is 100 pixels from the top of the Canvas.  
            // Note: You could alternatively use the Rect Constructor to create this:
            // Rect my Rect1 = new Rect(10,100,150,100");
            Rect myRect1 = new Rect();
            myRect1.X = 10;
            myRect1.Y = 100;
            myRect1.Width = 150;
            myRect1.Height = 100;
            RectangleGeometry myRectangleGeometry1 = new RectangleGeometry();
            myRectangleGeometry1.Rect = myRect1;

            GeometryGroup myGeometryGroup1 = new GeometryGroup();
            myGeometryGroup1.Children.Add(myRectangleGeometry1);

            myPath1.Data = myGeometryGroup1;

            Path myPath2 = new Path();
            myPath2.Stroke = Brushes.Black;
            myPath2.StrokeThickness = 1;
            myPath2.Fill = mySolidColorBrush;

            // Create the rectangle.
            // This Rect uses the Size property to specify a height of 50 and width
            // of 200. The Location property uses a Point value to determine the location of the
            // top-left corner of the rectangle.
            Rect myRect2 = new Rect();
            myRect2.Size = new Size(50, 200);
            myRect2.Location = new Point(300, 100);
            RectangleGeometry myRectangleGeometry2 = new RectangleGeometry();
            myRectangleGeometry2.Rect = myRect2;

            GeometryGroup myGeometryGroup2 = new GeometryGroup();
            myGeometryGroup2.Children.Add(myRectangleGeometry2);

            myPath2.Data = myGeometryGroup2;

            // Add path shape to the UI.
            Canvas myCanvas = new Canvas();
            myCanvas.Children.Add(myPath1);
            myCanvas.Children.Add(myPath2);
            this.Content = myCanvas;       
        }
    }
}

Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Shapes

Namespace SDKSample
    Partial Public Class RectExample
        Inherits Page
        Public Sub New()
            Dim myPath1 As New Path()
            myPath1.Stroke = Brushes.Black
            myPath1.StrokeThickness = 1
            Dim mySolidColorBrush As New SolidColorBrush()
            mySolidColorBrush.Color = Color.FromArgb(255, 204, 204, 255)
            myPath1.Fill = mySolidColorBrush

            ' Create the rectangle.
            ' This RectangleGeometry specifies a rectangle that is 100 pixels high and
            ' 150 wide. The left side of the rectangle is 10 pixels from the left of the 
            ' Canvas and the top side of the rectangle is 100 pixels from the top of the Canvas.  
            ' Note: You could alternatively use the Rect Constructor to create this:
            ' Dim myRect1 As New Rect(10,100,150,100")
            Dim myRect1 As New Rect()
            myRect1.X = 10
            myRect1.Y = 100
            myRect1.Width = 150
            myRect1.Height = 100
            Dim myRectangleGeometry1 As New RectangleGeometry()
            myRectangleGeometry1.Rect = myRect1

            Dim myGeometryGroup1 As New GeometryGroup()
            myGeometryGroup1.Children.Add(myRectangleGeometry1)

            myPath1.Data = myGeometryGroup1

            Dim myPath2 As New Path()
            myPath2.Stroke = Brushes.Black
            myPath2.StrokeThickness = 1
            myPath2.Fill = mySolidColorBrush

            ' Create the rectangle.
            ' This Rect uses the Size property to specify a height of 50 and width
            ' of 200. The Location property uses a Point value to determine the location of the
            ' top-left corner of the rectangle.
            Dim myRect2 As New Rect()
            myRect2.Size = New Size(50, 200)
            myRect2.Location = New Point(300, 100)
            Dim myRectangleGeometry2 As New RectangleGeometry()
            myRectangleGeometry2.Rect = myRect2

            Dim myGeometryGroup2 As New GeometryGroup()
            myGeometryGroup2.Children.Add(myRectangleGeometry2)

            myPath2.Data = myGeometryGroup2

            ' Add path shape to the UI.
            Dim myCanvas As New Canvas()
            myCanvas.Children.Add(myPath1)
            myCanvas.Children.Add(myPath2)
            Me.Content = myCanvas
        End Sub
    End Class

End Namespace
<Page  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Canvas>
    
    <!-- This rectangle demonstrates using the X, Y, Width, and Height properties
         of a Rect object. -->
    <Path Stroke="Black" StrokeThickness="1" Fill="LemonChiffon">
      <Path.Data>

        <!-- This RectangleGeometry specifies a rectangle that is 100 pixels high and
             150 wide. The left side of the rectangle is 10 pixels from the left of the 
             Canvas and the top side of the rectangle is 100 pixels from the top of the Canvas.  
             Note: An abbreviated syntax for creating an equivalent rectangle is:
             <RectangleGeometry Rect="10,100,150,100" /> -->
        <RectangleGeometry>
          <RectangleGeometry.Rect>
            <Rect X="10" Y="100" Width="150" Height="100" />
          </RectangleGeometry.Rect>
        </RectangleGeometry>
      </Path.Data>
    </Path>

    <!-- This rectangle demonstrates using the Size and Location properties of a Rect object. -->
    <Path Stroke="Black" StrokeThickness="1" Fill="LemonChiffon">
      <Path.Data>

        <!-- This RectangleGeometry uses the Size property to specify a height of 50 and width
             of 200. The Location property uses a Point value to determine the location of the
             top-left corner of the rectangle. /> -->
        <RectangleGeometry>
          <RectangleGeometry.Rect>
            <Rect Size="50,200" Location="300,100" />
          </RectangleGeometry.Rect>
        </RectangleGeometry>
      </Path.Data>
    </Path>
  </Canvas>
</Page>

다음 예제에서는 코드를 사용 하 여 사각형을 만들고 페이지에 추가 하는 방법을 보여 줍니다. 이 예제에서는 새 사각형에 대 한 크기 및 좌표 정보를 찾아의 정보를 렌더링 하는 방법을 보여 줍니다는 TextBox 사각형 아래의 합니다.

// Create a rectangle and add it to the page. Also,
// find size and coordinate information about this
// new rectangle and render information in a TextBox 
// below the rectangle.
private StackPanel createRectExample1()
{
    // Initialize new rectangle.
    Rect myRectangle = new Rect();

    // The Location property specifies the coordinates of the upper left-hand 
    // corner of the rectangle. Set the Location property to an X coordinate of 10 and a
    // Y coordinate of 5. 
    myRectangle.Location = new Point(10, 5);

    // Set the Size property of the rectangle with a width of 200
    // and a height of 50.
    myRectangle.Size = new Size(200, 50);

    RectangleGeometry myRectangleGeometry = new RectangleGeometry();
    myRectangleGeometry.Rect = myRectangle;

    // This path is defined by the rectangle.
    Path myPath = new Path();
    myPath.Fill = Brushes.LemonChiffon;
    myPath.Stroke = Brushes.Black;
    myPath.StrokeThickness = 1;
    myPath.Data = myRectangleGeometry;

    //////////// Create string of rectangle property information /////////////
    // This string will contain all the size and coordinate property
    // information about the rectangle.
    /////////////////////////////////////////////////////////////////////////
    string rectInfo = "Rectangle Property Information: ";

    // Bottom property gets the y-axis value of the bottom of the rectangle. 
    // For this rectangle the value is 55.
    rectInfo = rectInfo + "Bottom: " + myRectangle.Bottom;

    // BottomLeft property gets the coordinates of the bottom left corner of the rectangle. 
    // For this rectangle the value is 10,55.
    rectInfo = rectInfo + "| BottomLeft: " + myRectangle.BottomLeft;

    // BottomRight property gets the coordinates of the bottom right corner of the rectangle. 
    // For this rectangle the value is 210,55.
    rectInfo = rectInfo + "| BottomRight: " + myRectangle.BottomRight;

    // Height property gets or sets the height of the rectangle. 
    // For this rectangle the value is 50.
    rectInfo = rectInfo + "| Height: " + myRectangle.Height;

    // Width property gets or sets the width of the rectangle. 
    // For this rectangle the value is 200.
    rectInfo = rectInfo + "| Width: " + myRectangle.Width;

    // Left property gets the x-axis position of the left side of the rectangle which is 
    // equivalent to getting the rectangle's X property. 
    // For this rectangle the value is 10.
    rectInfo = rectInfo + "| Left: " + myRectangle.Left;

    // Location property gets or sets the position of the rectangle's top-left corner.
    // For this rectangle the value is 10,5.
    rectInfo = rectInfo + "| Location: " + myRectangle.Location;

    // Right property gets the x-axis value of the right side of the rectangle. 
    // For this rectangle the value is 210.
    rectInfo = rectInfo + "| Right: " + myRectangle.Right;

    // Size property gets or sets the width and height of the rectangle.  
    // For this rectangle the value is 200,50.
    rectInfo = rectInfo + "| Size: " + myRectangle.Size;

    // Top property gets the y-axis position of the top of the rectangle which is 
    // equivalent to getting the rectangle's Y property.
    // For this rectangle the value is 5.
    rectInfo = rectInfo + "| Top: " + myRectangle.Top;

    // TopLeft property gets the position of the top-left corner of the rectangle, which 
    // is equivalent to (X, Y).   
    // For this rectangle the value is 10,5.
    rectInfo = rectInfo + "| TopLeft: " + myRectangle.TopLeft;

    // TopRight property gets the position of the top-left corner of the rectangle, which 
    // is equivalent to (X + Width, Y).   
    // For this rectangle the value is 210,5.
    rectInfo = rectInfo + "| TopRight: " + myRectangle.TopRight;

    // X property gets or sets the location of the rectangle's left side.  
    // For this rectangle the value is 10.
    rectInfo = rectInfo + "| X: " + myRectangle.X;

    // Y property gets or sets the location of the rectangle's top side.  
    // For this rectangle the value is 5.
    rectInfo = rectInfo + "| Y: " + myRectangle.Y;

    //////// End of creating string containing rectangle property information ////////

    // This StackPanel will contain the rectangle and TextBlock.
    StackPanel parentPanel = new StackPanel();

    // Add the rectangle path to the StackPanel. This will display the rectangle.
    parentPanel.Children.Add(myPath);

    // Add a TextBlock to display the rectangle's size and coordinate information.
    TextBlock myTextBlock = new TextBlock();
    myTextBlock.Text = rectInfo;
    parentPanel.Children.Add(myTextBlock);

    // Return the parent container to be displayed to the screen.
    return parentPanel;
}

설명

XAML 특성 사용

<object property="x,y,width,height"/>  

XAML 값

x
System.Double

사각형의 왼쪽의 x 좌표 위치입니다.

y
System.Double

사각형의 위쪽의 y 좌표 위치입니다.

width
System.Double

나타내는 음수가 아닌 값을 Width 사각형입니다.

height(높이)
System.Double

나타내는 음수가 아닌 값을 Height 사각형입니다.

생성자

Rect(Double, Double, Double, Double)

지정된 x좌표, y좌표, 너비 및 높이를 갖는 Rect 구조체의 새 인스턴스를 초기화합니다.

Rect(Point, Point)

지정된 두 지점을 정확히 포함할 수 있는 크기의 Rect 구조체의 새 인스턴스를 초기화합니다.

Rect(Point, Size)

지정된 왼쪽 위 모퉁이 좌표 및 지정된 너비와 높이를 갖는 Rect 구조체의 새 인스턴스를 초기화합니다.

Rect(Point, Vector)

지정된 지점 및 지정된 지점과 지정된 벡터의 합을 정확히 포함할 수 있는 크기의 Rect 구조체의 새 인스턴스를 초기화합니다.

Rect(Size)

지정된 크기를 가지며 위치가 (0,0)인 Rect 구조체의 새 인스턴스를 초기화합니다.

속성

Bottom

사각형 아래쪽의 y축 값을 가져옵니다.

BottomLeft

사각형의 왼쪽 아래 모퉁이 위치를 가져옵니다.

BottomRight

사각형의 오른쪽 아래 모퉁이 위치를 가져옵니다.

Empty

위치와 넓이가 없는 사각형을 나타내는 특수 값을 가져옵니다.

Height

사각형의 높이를 가져오거나 설정합니다.

IsEmpty

사각형이 Empty 사각형인지 여부를 나타내는 값을 가져옵니다.

Left

사각형 왼쪽의 x축 값을 가져옵니다.

Location

사각형의 왼쪽 위 모퉁이 위치를 가져오거나 설정합니다.

Right

사각형 오른쪽의 x축 값을 가져옵니다.

Size

사각형의 너비와 높이를 가져오거나 설정합니다.

Top

사각형 위쪽의 y축 좌표를 가져옵니다.

TopLeft

사각형의 왼쪽 위 모퉁이 위치를 가져옵니다.

TopRight

사각형의 오른쪽 위 모퉁이 위치를 가져옵니다.

Width

사각형의 너비를 가져오거나 설정합니다.

X

사각형 왼쪽의 x축 값을 가져오거나 설정합니다.

Y

사각형 위쪽의 y축 값을 가져오거나 설정합니다.

메서드

Contains(Double, Double)

지정된 x좌표와 y좌표가 사각형에 들어 있는지 여부를 나타냅니다.

Contains(Point)

지정된 지점이 사각형에 들어 있는지 여부를 나타냅니다.

Contains(Rect)

지정된 사각형이 사각형에 들어 있는지 여부를 나타냅니다.

Equals(Object)

지정된 개체가 현재 사각형과 같은지 여부를 나타냅니다.

Equals(Rect)

지정된 사각형이 현재 사각형과 같은지 여부를 나타냅니다.

Equals(Rect, Rect)

지정된 사각형이 서로 같은지 여부를 나타냅니다.

GetHashCode()

사각형에 대한 해시 코드를 만듭니다.

Inflate(Double, Double)

사각형을 지정된 너비 및 높이만큼 모든 방향으로 확장하거나 축소합니다.

Inflate(Rect, Double, Double)

지정된 사각형을 지정된 너비 및 높이만큼 모든 방향으로 확장하거나 축소한 사각형을 만듭니다.

Inflate(Rect, Size)

지정된 사각형을 지정된 Size만큼 모든 방향으로 확장하여 만들어지는 사각형을 반환합니다.

Inflate(Size)

지정된 Size를 사용하여 모든 방향으로 사각형을 확장합니다.

Intersect(Rect)

현재 사각형과 지정된 사각형이 겹치는 부분을 찾아 결과를 현재 사각형으로 저장합니다.

Intersect(Rect, Rect)

지정된 사각형이 겹치는 부분을 반환합니다.

IntersectsWith(Rect)

지정된 사각형이 현재 사각형과 겹치는지 여부를 나타냅니다.

Offset(Double, Double)

사각형을 지정된 가로 및 세로 거리만큼 이동합니다.

Offset(Rect, Double, Double)

지정된 사각형에서 지정된 가로 및 세로 거리만큼 오프셋된 사각형을 반환합니다.

Offset(Rect, Vector)

지정된 사각형에서 지정된 벡터만큼 오프셋된 사각형을 반환합니다.

Offset(Vector)

사각형을 지정된 벡터만큼 이동합니다.

Parse(String)

지정된 문자열 표현을 사용하여 새 사각형을 만듭니다.

Scale(Double, Double)

현재 사각형의 크기에 지정된 x 및 y 값을 곱합니다.

ToString()

사각형의 문자열 표현을 반환합니다.

ToString(IFormatProvider)

지정된 형식 공급자를 사용하여 사각형의 문자열 표현을 반환합니다.

Transform(Matrix)

지정된 매트릭스를 적용하여 사각형을 변환합니다.

Transform(Rect, Matrix)

지정된 사각형에 지정된 매트릭스를 적용하여 만들어진 사각형을 반환합니다.

Union(Point)

지정된 지점을 정확히 포함할 수 있는 크기로 현재 사각형을 확장합니다.

Union(Rect)

지정된 사각형을 정확히 포함할 수 있는 크기로 현재 사각형을 확장합니다.

Union(Rect, Point)

지정된 사각형과 지정된 지점을 정확히 포함할 수 있는 크기의 사각형을 만듭니다.

Union(Rect, Rect)

지정된 두 사각형을 정확히 포함할 수 있는 크기의 사각형을 만듭니다.

연산자

Equality(Rect, Rect)

두 사각형이 정확히 같은지 비교합니다.

Inequality(Rect, Rect)

두 사각형이 다른지 비교합니다.

명시적 인터페이스 구현

IFormattable.ToString(String, IFormatProvider)

지정된 형식을 사용하여 현재 인스턴스 값의 형식을 지정합니다.

적용 대상