CDC::StretchBlt
Copia una bitmap da un rettangolo di origine in un rettangolo di destinazione, allungando o comprimendo la bitmap se necessario per adattarla alle dimensioni del rettangolo di destinazione.
BOOL StretchBlt(
int x,
int y,
int nWidth,
int nHeight,
CDC* pSrcDC,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
DWORD dwRop
);
Parametri
x
Specifica la coordinata x (in unità logiche) dell'angolo superiore sinistro del rettangolo di destinazione.y
Specifica la coordinata y (in unità logiche) dell'angolo superiore sinistro del rettangolo di destinazione.nWidth
Specifica la larghezza (in unità logiche) del rettangolo di destinazione.nHeight
Specifica l'altezza (in unità logiche) del rettangolo di destinazione.pSrcDC
Specifica il contesto del dispositivo di origine.xSrc
Specifica la coordinata x (in unità logiche) dell'angolo superiore sinistro del rettangolo di origine.ySrc
Specifica la coordinata y (in unità logiche) dell'angolo superiore sinistro del rettangolo di origine.nSrcWidth
Specifica la larghezza (in unità logiche) del rettangolo di origine.nSrcHeight
Specifica l'altezza (in unità logiche) del rettangolo di origine.dwRop
Specifica l'operazione raster da eseguire. I codici dell'operazione raster definiscono in che modo GDI combina i colori nelle operazioni di output che includono un pennello corrente, una possibile bitmap di origine e una bitmap di destinazione. Il parametro può avere uno dei valori seguenti:BLACKNESS Applica il nero a tutto l'output.
DSTINVERT Inverte la bitmap di destinazione.
MERGECOPY Combina il modello e la bitmap di origine utilizzando l'operatore booleano AND.
MERGEPAINT Combina la bitmap di origine invertita con la bitmap di destinazione utilizzando l'operatore booleano OR.
NOTSRCCOPY Copia la bitmap di origine invertita nella destinazione.
NOTSRCERASE Inverte il risultato della combinazione delle bitmap di destinazione e di origine utilizzando l'operatore booleano OR.
PATCOPY Copia il modello nella bitmap di destinazione.
PATINVERT Combina la bitmap di destinazione con il modello utilizzando l'operatore booleano XOR.
PATPAINT Combina la bitmap di origine invertita con il modello utilizzando l'operatore booleano OR. Combina il risultato di questa operazione con la bitmap di destinazione utilizzando l'operatore booleano OR.
SRCAND Combina i pixel delle bitmap di destinazione e di origine utilizzando l'operatore booleano AND.
SRCCOPY Copia la bitmap di origine nella bitmap di destinazione.
SRCERASE Inverte la bitmap di destinazione e ne combina il risultato con la bitmap di origine utilizzando l'operatore booleano AND.
SRCINVERT Combina i pixel delle bitmap di destinazione e di origine utilizzando l'operatore booleano XOR.
SRCPAINT Combina i pixel delle bitmap di destinazione e di origine utilizzando l'operatore booleano OR.
WHITENESS applica il bianco a tutto l'output.
Valore restituito
Se la bitmap viene tracciata è diverso da zero; in caso contrario, 0.
Note
La funzione utilizza la modalità di adattamento del contesto del dispositivo di destinazione (impostata da SetStretchBltMode) per determinare come allungare o comprimere la bitmap.
La funzione StretchBlt sposta la bitmap dal dispositivo di origine fornito da pSrcDC al dispositivo di destinazione rappresentato dall'oggetto contesto del dispositivo di cui viene chiamata la funzione membro. I parametri xSrc, ySrc, nSrcWidth e nSrcHeight definiscono l'angolo superiore sinistro e le dimensioni del rettangolo di origine. I parametri x, y, nWidth e nHeight definiscono l'angolo superiore sinistro e le dimensioni del rettangolo di destinazione. L'operazione raster specificata da dwRop definisce la modalità di combinazione della bitmap di origine e dei bit già presenti nel dispositivo di destinazione.
La funzione StretchBlt crea un'immagine speculare di una bitmap se i segni dei parametri nSrcWidth e nWidth o nSrcHeight e nHeight sono diversi. Se nSrcWidth e nWidth hanno segni diversi, la funzione crea un'immagine speculare della bitmap lungo l'asse x. Se nSrcHeight e nHeight hanno segni diversi, la funzione crea un'immagine speculare della bitmap lungo l'asse y.
La funzione StretchBlt allunga o comprime la bitmap di origine in memoria, quindi copia il risultato nella destinazione. Se è necessario unire un modello al risultato, questo non viene unito finché la bitmap di origine adattata non viene copiata nella destinazione. Se viene utilizzato un pennello, si tratta del pennello selezionato nel contesto del dispositivo di destinazione. Le coordinate di destinazione vengono trasformate in base al contesto del dispositivo di destinazione; le coordinate di origine vengono trasformate in base al contesto del dispositivo di origine.
Se le bitmap di destinazione, origine e modello non hanno lo stesso formato di colore, StretchBlt converte le bitmap di origine e modello per farle corrispondere alle bitmap di destinazione. Nella conversione vengono utilizzati i colori di primo piano e di sfondo del contesto del dispositivo di destinazione.
Se StretchBlt deve convertire a colori una bitmap monocromatica, imposta i bit bianchi (1) sui bit del colore di sfondo e i bit neri (0) sul colore di primo piano. Per la conversione da colore a monocromatico, imposta i pixel corrispondenti al colore di sfondo sul bianco (1) e tutti gli altri pixel sul nero (0). Vengono utilizzati i colori di primo piano e di sfondo del contesto del dispositivo a colori.
Non tutti i dispositivi supportano la funzione StretchBlt. Per determinare se un dispositivo supporta StretchBlt, chiamare la funzione membro GetDeviceCaps con l'indice RASTERCAPS e controllare il valore restituito per il flag RC_STRETCHBLT.
Requisiti
Intestazione: afxwin.h