Condividi tramite


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