Freigeben über


IWICBitmapSourceTransform::CopyPixels-Methode (wincodec.h)

Kopiert Pixeldaten mit den angegebenen Eingabeparametern.

Syntax

HRESULT CopyPixels(
  [in]  const WICRect             *prc,
  [in]  UINT                      uiWidth,
  [in]  UINT                      uiHeight,
  [in]  WICPixelFormatGUID        *pguidDstFormat,
  [in]  WICBitmapTransformOptions dstTransform,
  [in]  UINT                      nStride,
  [in]  UINT                      cbBufferSize,
  [out] BYTE                      *pbBuffer
);

Parameter

[in] prc

Typ: const WICRect*

Das Rechteck der zu kopierenden Pixel.

[in] uiWidth

Typ: UINT

Die Breite, mit der die Quellbitbitbit skaliert werden soll. Dieser Parameter muss dem Wert entsprechen, der über IWICBitmapSourceTransform::GetClosestSize abgerufen werden kann.

[in] uiHeight

Typ: UINT

Die Höhe, in der die Quellbitbitbit skaliert werden soll. Dieser Parameter muss dem Wert entsprechen, der über IWICBitmapSourceTransform::GetClosestSize abgerufen werden kann.

[in] pguidDstFormat

Typ: WICPixelFormatGUID*

Die GUID des gewünschten Pixelformats, in dem die Pixel zurückgegeben werden sollen.

Diese GUID muss ein Format sein, das über einen GetClosestPixelFormat-Aufruf abgerufen wird.

[in] dstTransform

Typ: WICBitmapTransformOptions

Die gewünschte Drehung oder Drehung, die vor dem Kopieren des Pixels ausgeführt werden soll.

Die Transformation muss ein Vorgang sein, der von einem DoesSupportTransform-Aufruf unterstützt wird.

Wenn ein dstTransform angegeben wird, ist nStride der transformierte Schritt und basiert auf dem Pixelformat pguidDstFormat , nicht auf dem Pixelformat der ursprünglichen Quelle.

[in] nStride

Typ: UINT

Der Schritt des Zielpuffers.

[in] cbBufferSize

Typ: UINT

Die Größe des Zielpuffers.

[out] pbBuffer

Typ: BYTE*

Der Ausgabepuffer.

Rückgabewert

Typ: HRESULT

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

Hinweise

Hinweise für Codec-Entwickler

Wenn NULL für prc übergeben wird, wird das gesamte Bild kopiert.

Details zur Codecentwicklerimplementierung für diese Methode finden Sie unter Implementieren von IWICBitmapSourceTransform.

Wenn mehrere Transformationsvorgänge angefordert werden, hängt das Ergebnis von der Reihenfolge ab, in der die Vorgänge ausgeführt werden. Um Vorhersagbarkeit und Konsistenz zwischen CODECs sicherzustellen, ist es wichtig, dass alle CODECs diese Vorgänge in derselben Reihenfolge ausführen. Die empfohlene Reihenfolge dieser Vorgänge lautet:

  1. Skalieren
  2. Crop
  3. Kippen/Drehen

Die Pixelformatkonvertierung kann jederzeit ausgeführt werden, da sie keine Auswirkungen auf die anderen Transformationen hat.

Der erste Parameter , prc , wird verwendet, um den bereich anzugeben, der für das Ausschneiden des Bilds von Interesse ist. Gemäß der Konvention wird die Skalierung vor dem Clipping durchgeführt. Wenn das Bild also skaliert und beschnitten werden soll, sollte der gewünschte Bereich bestimmt werden, nachdem das Bild skaliert wurde.

Wenn ein dstTransform angegeben wird, ist die Stride der transformierte Schritt und basiert auf dem pixelFormat, das im CopyPixels-Aufruf angegeben ist, nicht auf dem Pixelformat des ursprünglichen Frames.

Anforderungen

Anforderung Wert
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

Siehe auch

Konzept

IWICBitmapSourceTransform

Microsoft Windows Imaging Codec

Programmierhandbuch

Referenzen

Beispiele und Codebeispiele