Partager via


Device.StretchRectangle, méthode

Mise à jour : novembre 2007

Copie le contenu du rectangle source vers le rectangle de destination.

Espace de noms :  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly :  Microsoft.WindowsMobile.DirectX (dans Microsoft.WindowsMobile.DirectX.dll)

Syntaxe

'Déclaration
Public Sub StretchRectangle ( _
    sourceSurface As Surface, _
    sourceRectangle As Rectangle, _
    destSurface As Surface, _
    destRectangle As Rectangle, _
    filter As TextureFilter _
)
'Utilisation
Dim instance As Device
Dim sourceSurface As Surface
Dim sourceRectangle As Rectangle
Dim destSurface As Surface
Dim destRectangle As Rectangle
Dim filter As TextureFilter

instance.StretchRectangle(sourceSurface, _
    sourceRectangle, destSurface, destRectangle, _
    filter)
public void StretchRectangle(
    Surface sourceSurface,
    Rectangle sourceRectangle,
    Surface destSurface,
    Rectangle destRectangle,
    TextureFilter filter
)
public:
void StretchRectangle(
    Surface^ sourceSurface, 
    Rectangle sourceRectangle, 
    Surface^ destSurface, 
    Rectangle destRectangle, 
    TextureFilter filter
)
public function StretchRectangle(
    sourceSurface : Surface, 
    sourceRectangle : Rectangle, 
    destSurface : Surface, 
    destRectangle : Rectangle, 
    filter : TextureFilter
)

Paramètres

  • sourceRectangle
    Type : System.Drawing.Rectangle

    Objet Rectangle qui représente le rectangle source. Si la valeur est nullune référence null (Nothing en Visual Basic), toute la surface source est utilisée.

  • destRectangle
    Type : System.Drawing.Rectangle

    Objet Rectangle qui représente le rectangle de destination. Si la valeur est nullune référence null (Nothing en Visual Basic), toute la surface de destination est utilisée.

Notes

Le rectangle source peut être étiré et filtré par la copie. Cette méthode est souvent utilisée pour modifier les proportions d'un flux vidéo.

Si l'opération entraîne l'étirement ou le rétrécissement, toutes les combinaisons de surface ne sont pas valides pour StretchRectangle. D'autres facteurs incluent les types de surfaces impliqués et leurs formats.

Le tableau suivant affiche des combinaisons de format de destination valides :

Format source

Texture

Texture RT

RT

Plaine hors écran

Texture

Non

Oui

Oui

Non

Texture RT

Non

Oui

Oui

Non

RT

Non

Oui

Oui

Non

Plaine hors écran

Non

Oui

Oui

Oui, mais uniquement sans étirer

Si le filtrage est spécifié, StretchRectangle échoue sauf si le pilote définit StretchRectangleFilterCaps. Si None est spécifié, le pilote choisit un algorithme de filtrage.

Vous pouvez utiliser des surfaces du stencil de profondeur dans les appels StretchRectangle, à condition qu'aucune opération d'étirement ou de rétrécissement n'ait lieu dans l'appel. Les restrictions suivantes s'appliquent également aux surfaces DepthStencil lors de la copie avec un appel StretchRectangle :

  • Les surfaces doivent être au même format sans conversion de format.

  • Aucun étirement ou rétrécissement n'est autorisé.

  • Seule la surface entière peut être copiée. Les copies de sous-rectangle ne sont pas autorisées.

Les applications doivent utiliser CopyRects ou UpdateTexture au lieu de StretchRectangle pour charger des plans de texture, parce qu'elles ont été conçues pour utiliser des informations internes et des tables du rectangle.

L'étirement entre des rectangles sur la même surface n'est pas pris en charge. Pour tester le matériel pour la conversion des couleurs, utilisez la méthode CheckDeviceFormatConversion d'un Manager puisque l'émulation logicielle pour la conversion n'est pas prise en charge. Cette méthode indique également si l'étirement entre des surfaces du même format est pris en charge, ou non. L'étirement ou le rétrécissement n'est pas pris en charge si l'une ou l'autre des surfaces a un format compressé DXTn. La surface source ne doit pas faire l'objet d'échantillonnage multiple.

Autorisations

Plateformes

Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Informations de version

.NET Compact Framework

Pris en charge dans : 3.5, 2.0

Voir aussi

Référence

Device, classe

Membres Device

Microsoft.WindowsMobile.DirectX.Direct3D, espace de noms