Metodo IWICBitmapSource::CopyPixels (wincodec.h)
Indica all'oggetto di produrre pixel.
Sintassi
HRESULT CopyPixels(
[in] const WICRect *prc,
[in] UINT cbStride,
[in] UINT cbBufferSize,
[out] BYTE *pbBuffer
);
Parametri
[in] prc
Tipo: const WICRect*
Rettangolo da copiare. Un valore NULL specifica l'intera bitmap.
[in] cbStride
Tipo: UINT
Lo stride della bitmap
[in] cbBufferSize
Tipo: UINT
Dimensione del buffer.
[out] pbBuffer
Tipo: BYTE*
Puntatore al buffer.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
CopyPixels è una delle due routine principali di elaborazione delle immagini (l'altra in fase di blocco) che attiva l'elaborazione effettiva. Indica all'oggetto di produrre pixel in base al relativo algoritmo: ciò può comportare la decodifica di una parte di un JPEG archiviato su disco, la copia di un blocco di memoria o anche l'elaborazione analitica di una sfumatura complessa. L'algoritmo dipende completamente dall'oggetto che implementa l'interfaccia.
Il chiamante può limitare l'operazione a un rettangolo di interesse (ROI) usando il parametro prc. Il sotto rettangolo ROI deve essere completamente contenuto nei limiti della bitmap. Se si specifica un ROI NULL , l'intera bitmap deve essere restituita.
Il chiamante controlla la gestione della memoria e deve fornire un buffer di output (pbBuffer) per i risultati della copia insieme ai limiti del buffer (cbBufferSize). Il parametro cbStride definisce il numero di byte tra due pixel adiacenti verticalmente nel buffer di output. Il chiamante deve assicurarsi che il buffer sia sufficiente per completare la chiamata in base alla larghezza, all'altezza e al formato pixel della bitmap e al rettangolo secondario fornito al metodo di copia.
Se il chiamante deve eseguire numerose copie di un IWICBitmapSource costoso, ad esempio un JPEG, è consigliabile creare prima un IWICBitmap in memoria.
Osservazioni per sviluppatori codec
La chiamata deve essere scritta solo nel primo (prc-Width>*bitsperpixel+7)/8 byte di ogni riga del buffer di output (in questo caso, una riga è una stringa consecutiva di byte cbStride ).Requisiti
Client minimo supportato | Windows XP con SP2, Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | wincodec.h |
Libreria | Windowscodecs.lib |
DLL | Windowscodecs.dll |