Metodo IWICDdsFrameDecode::CopyBlocks (wincodec.h)
Richiede i dati pixel perché vengono archiviati in modo nativo all'interno del file DDS.
Sintassi
HRESULT CopyBlocks(
[in] const WICRect *prcBoundsInBlocks,
[in] UINT cbStride,
[in] UINT cbBufferSize,
[out] BYTE *pbBuffer
);
Parametri
[in] prcBoundsInBlocks
Tipo: const WICRect*
Rettangolo da copiare dall'origine. Un valore NULL specifica l'intera trama.
Se la trama usa un DXGI_FORMAT compresso a blocchi, tutti i valori del rettangolo vengono espressi in numero di blocchi, non pixel.
[in] cbStride
Tipo: UINT
Lo stride, in byte, del buffer di destinazione. Questo rappresenta il numero di byte dal puntatore del buffer alla riga successiva di dati. Se la trama usa un DXGI_FORMAT compresso a blocchi, viene definita una "riga di dati" come riga di blocchi che contiene più linee di analisi pixel.
[in] cbBufferSize
Tipo: UINT
Dimensioni, in byte, del buffer di destinazione.
[out] pbBuffer
Tipo: BYTE*
Puntatore al buffer di destinazione.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Se la trama non usa un DXGI_FORMAT compresso a blocchi, questo metodo si comporta in modo analogo a IWICBitmapSource::CopyPixels. Tuttavia, non esegue alcuna conversione del formato pixel e produce invece i dati non elaborati dal file DDS.
Se la trama usa un DXGI_FORMAT compresso a blocchi, questo metodo copia i dati di blocco direttamente nel buffer fornito. In questo caso, il parametro prcBoundsInBlocks è definito in blocchi, non pixel. Per determinare se si tratta del caso, chiamare GetFormatInfo e leggere il membro DxgiFormat della struttura WICDdsFormatInfo restituita.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8.1 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 R2 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | wincodec.h |
Libreria | Windowscodecs.lib |
DLL | Windowscodecs.dll |