RettangoliRectangles

Durante la programmazione di Direct3D e Windows, gli oggetti sullo schermo vengono definiti in termini di rettangoli di delimitazione.Throughout Direct3D and Windows programming, objects on the screen are referred to in terms of bounding rectangles. I lati di un rettangolo di delimitazione sono sempre paralleli ai lati dello schermo, quindi il rettangolo può essere descritto da due punti, dall'angolo superiore sinistro e dall'angolo inferiore destro.The sides of a bounding rectangle are always parallel to the sides of the screen, so the rectangle can be described by two points, the upper-left corner and lower-right corner.

Rettangoli di delimitazioneBounding rectangles

La maggior parte delle applicazioni usa la struttura Rect (o un alias typedef) per includere informazioni su un rettangolo di delimitazione da usare quando blitting sullo schermo o quando si esegue il rilevamento dei riscontri.Most applications use the RECT structure (or a typedef'd alias for it) to carry information about a bounding rectangle to use when blitting to the screen or when performing hit detection. In C++, la struttura Rect presenta la definizione seguente.In C++, the RECT structure has the following definition.

typedef struct tagRECT { 
    LONG    left;    // This is the upper-left corner x-coordinate.
    LONG    top;     // The upper-left corner y-coordinate.
    LONG    right;   // The lower-right corner x-coordinate.
    LONG    bottom;  // The lower-right corner y-coordinate.
} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT; 

Nell'esempio precedente i membri Left e Top sono le coordinate x e y dell'angolo superiore sinistro di un rettangolo di delimitazione.In the preceding example, the left and top members are the x- and y-coordinates of a bounding rectangle's upper-left corner. Analogamente, i membri destro e inferiore costituiscono le coordinate dell'angolo inferiore destro.Similarly, the right and bottom members make up the coordinates of the lower-right corner. Nella figura seguente viene illustrato come è possibile visualizzare questi valori.The following illustration shows how you can visualize these values.

illustrazione del rettangolo delimitato dai valori sinistro, superiore, destro e inferiore

La colonna di pixel sul bordo destro e la riga di pixel sul bordo inferiore non sono inclusi in RECT.The column of pixels at the right edge and the row of pixels at the bottom edge are not included in the RECT. Ad esempio, il blocco di un oggetto RECT con i membri {10, 10, 138, 138} restituisce un oggetto 128 pixel in larghezza e altezza.For example, locking a RECT with members {10, 10, 138, 138} results in an object 128 pixels in width and height.

Per migliorare l'efficienza, la coerenza e la semplicità d'uso, tutte le funzioni di presentazione Direct3D funzionano con i rettangoli.For efficiency, consistency, and ease of use, all Direct3D presentation functions work with rectangles.

Argomenti correlatiRelated topics

Sistemi di coordinate e geometriaCoordinate systems and geometry