Condividi tramite


Metodo Device.StretchRectangle

Aggiornamento: novembre 2007

Copia il contenuto del rettangolo di origine nel rettangolo di destinazione.

Spazio dei nomi:  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly:  Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)

Sintassi

'Dichiarazione
Public Sub StretchRectangle ( _
    sourceSurface As Surface, _
    sourceRectangle As Rectangle, _
    destSurface As Surface, _
    destRectangle As Rectangle, _
    filter As TextureFilter _
)
'Utilizzo
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
)

Parametri

  • sourceRectangle
    Tipo: System.Drawing.Rectangle

    Oggetto Rectangle che rappresenta il rettangolo di origine. Se il valore è nullriferimento null (Nothing in Visual Basic), viene utilizzata l'intera superficie di origine.

  • destRectangle
    Tipo: System.Drawing.Rectangle

    Oggetto Rectangle che rappresenta il rettangolo di destinazione. Se il valore è nullriferimento null (Nothing in Visual Basic), viene utilizzata l'intera superficie di destinazione.

Note

Il rettangolo di origine può essere allungato e filtrato tramite la copia. Questo metodo viene spesso utilizzato per modificare le proporzioni di un flusso video.

Se l'operazione dà come risultato l'allungamento o la compattazione, non tutte le combinazioni di superficie sono valide per il metodo StretchRectangle. Altri fattori includono i tipi di superfici interessati e i relativi formati.

Nella tabella riportata di seguito vengono illustrate le combinazioni valide dei formati di destinazione delle superfici:

Formato di origine

Trama

Trama RT

RT

Piano nascosto

Trama

No

No

Trama RT

No

No

RT

No

No

Piano nascosto

No

Si, ma solo senza allungamento

Se viene specificato il filtro, il metodo StretchRectangle ha esito negativo a meno che il driver non imposti la proprietà StretchRectangleFilterCaps. Se viene specificato None, il driver sceglie un algoritmo di filtro.

È possibile utilizare superfici di stencil di profondità nelle chiamate al metodo StretchRectangle, a condizione che non si verifichi alcun allungamento o compattazione nella chiamata. Le restrizioni riportate di seguito vengono applicate anche alle superfici DepthStencil quando vengono copiate con una chiamata al metodo StretchRectangle:

  • Entrambe le superfici devono presentare lo stesso formato senza conversione del formato.

  • Non sono consentite operazioni di allungamento o compattazione.

  • È possibile copiare solo l'intera superficie. Le copie dei rettangoli secondari non sono consentite.

Le applicazioni devono utilizzare CopyRects o il metodo UpdateTexture anziché il metodo StretchRectangle per caricare mappe di trama, poiché sono state progettate per utilizzare informazioni interne e tabelle di rettangoli dirt.

L'allungamento tra rettangoli sulla stessa superficie non è supportata. Per verificare l'hardware per la conversione del colore, utilizzare il metodo CheckDeviceFormatConversion di un oggetto Manager poiché l'emulazione software per la conversione non è supportata. Questo metodo indica anche se è supportato l'allungamento tra superfici dello stesso formato. L'allungamento o la compattazione non sono supportate se una delle superfici presenta un formato compresso DXTn. La superficie di origine non deve essere sottoposta a campionamento multiplo.

Autorizzazioni

Piattaforme

Windows CE, Windows Mobile per Smartphone, Windows Mobile per Pocket PC

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Informazioni sulla versione

.NET Compact Framework

Supportato in: 3.5, 2.0

Vedere anche

Riferimenti

Device Classe

Membri Device

Spazio dei nomi Microsoft.WindowsMobile.DirectX.Direct3D