Freigeben über


IWICBitmapSource::CopyPixels-Methode (wincodec.h)

Weist das -Objekt an, Pixel zu erzeugen.

Syntax

HRESULT CopyPixels(
  [in]  const WICRect *prc,
  [in]  UINT          cbStride,
  [in]  UINT          cbBufferSize,
  [out] BYTE          *pbBuffer
);

Parameter

[in] prc

Typ: const WICRect*

Das zu kopierende Rechteck. Ein NULL-Wert gibt die gesamte Bitmap an.

[in] cbStride

Typ: UINT

Der Schritt der Bitmap

[in] cbBufferSize

Typ: UINT

Die Größe des Puffers.

[out] pbBuffer

Typ: BYTE*

Ein Zeiger auf den Puffer.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

CopyPixels ist eine der beiden Standard Bildverarbeitungsroutinen (die andere ist Lock), die die eigentliche Verarbeitung auslösen. Es weist das Objekt an, Pixel gemäß seinem Algorithmus zu erzeugen. Dies kann dazu gehören, einen Teil eines auf dem Datenträger gespeicherten JPEG-Objekts zu decodieren, einen Speicherblock zu kopieren oder sogar einen komplexen Farbverlauf analytisch zu berechnen. Der Algorithmus ist vollständig vom Objekt abhängig, das die Schnittstelle implementiert.

Der Aufrufer kann den Vorgang mithilfe des prc-Parameters auf ein interessantes Rechteck (ROI) beschränken. Das ROI-Unterrechteck muss vollständig in den Begrenzungen der Bitmap enthalten sein. Wenn Sie einen NULL-ROI angeben, muss die gesamte Bitmap zurückgegeben werden.

Der Aufrufer steuert die Speicherverwaltung und muss einen Ausgabepuffer (pbBuffer) für die Ergebnisse der Kopie zusammen mit den Begrenzungen des Puffers (cbBufferSize) bereitstellen. Der cbStride-Parameter definiert die Anzahl der Bytes zwischen zwei vertikal angrenzenden Pixeln im Ausgabepuffer. Der Aufrufer muss sicherstellen, dass genügend Puffer vorhanden ist, um den Aufruf basierend auf der Breite, Höhe und dem Pixelformat der Bitmap und des Für die Kopiermethode bereitgestellten Unterrechtecks abzuschließen.

Wenn der Aufrufer zahlreiche Kopien einer teuren IWICBitmapSource wie jpeg ausführen muss, wird empfohlen, zuerst eine In-Memory-IWICBitmap zu erstellen.

Hinweise zum Codec-Entwickler

Der Angerufene darf nur in den ersten (prc-Width>*bitsperpixel+7)/8 Bytes jeder Zeile des Ausgabepuffers schreiben (in diesem Fall ist eine Zeile eine aufeinanderfolgende Zeichenfolge von cbStride-Bytes ).

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincodec.h
Bibliothek Windowscodecs.lib
DLL Windowscodecs.dll