Bagikan melalui


Metode IWICPlanarBitmapFrameEncode::WritePixels (wincodec.h)

Menulis baris dari bidang sumber ke format yang dikodekan.

Sintaks

HRESULT WritePixels(
       UINT           lineCount,
  [in] WICBitmapPlane *pPlanes,
       UINT           cPlanes
);

Parameter

lineCount

Jenis: UINT

Jumlah baris yang akan dikodekan. Lihat bagian Keterangan untuk pembatasan jumlah baris khusus WIC Jpeg.

[in] pPlanes

Jenis: WICBitmapPlane*

Menentukan buffer sumber untuk setiap bidang komponen yang dikodekan.

cPlanes

Jenis: UINT

Jumlah bidang komponen yang ditentukan oleh parameter pPlanes .

Nilai kembali

Jenis: HRESULT

Jika bidang dan persegi panjang sumber tidak memenuhi persyaratan, metode ini gagal dengan WINCODEC_ERR_IMAGESIZEOUTOFRANGE.

Jika format IWICBitmapSource tidak memenuhi persyaratan encoder, metode ini gagal dengan WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT.

Keterangan

Panggilan WritePixels berturut-turut diasumsikan secara berurutan menambahkan pemindaian ke gambar output. IWICBitmapFrameEncode::Initialize, IWICBitmapFrameEncode::SetSize and IWICBitmapFrameEncode::SetPixelFormat harus dipanggil sebelum metode ini atau akan gagal.

Format piksel interleaved yang diatur melalui IWICBitmapFrameEncode::SetPixelFormat dan parameter enkode khusus codec menentukan format planar yang didukung.

WIC JPEG Encoder: QueryInterface dapat digunakan untuk mendapatkan antarmuka ini dari implementasi WIC JPEG IWICBitmapFrameEncode . Saat menggunakan metode ini untuk mengodekan data Y'CbCr dengan encoder WIC JPEG, subsampling chroma dapat dikonfigurasi dengan opsi encoder selama pembuatan bingkai. Lihat Gambaran Umum Pengodean dan IWICBitmapEncoder::CreateNewFrame untuk detail selengkapnya.

Bergantung pada subsampling chroma yang dikonfigurasi, parameter lineCount memiliki batasan berikut:

Chroma Subsampling Pembatasan Jumlah Baris Lebar Bidang Chroma Tinggi Bidang Kroma
4:2:0 Kelipatan 2, kecuali panggilan mencakup pemindaian terakhir gambar lumaWidth / 2 Dibulatkan ke atas ke bilangan bulat terdekat. lumaHeight / 2 Dibulatkan ke atas ke bilangan bulat terdekat.
4:2:2 Apa pun lumaWidth / 2 Dibulatkan ke atas ke bilangan bulat terdekat. Apa pun
4:4:4 Apa pun Apa pun Apa pun
4:4:0 Kelipatan 2, kecuali panggilan mencakup pemindaian terakhir gambar Apa pun llumaHeight / 2 Dibulatkan ke bilangan bulat terdekat.
 

Lebar pemindaian penuh harus dikodekan, dan lebar sumber bitmap harus cocok dengan konfigurasi planarnya.

Selain itu, jika format piksel diatur melalui IWICBitmapFrameEncode::SetPixelFormat, format harus GUID_WICPixelFormat24bppBGR.

Format piksel yang didukung dari sumber bitmap yang diteruskan ke metode ini adalah sebagai berikut:

Jumlah Bidang Bidang 1 Bidang 2 Bidang 3
3 GUID_WICPixelFormat8bppY GUID_WICPixelFormat8bppCb GUID_WICPixelFormat8bppCr
2 GUID_WICPixelFormat8bppY GUID_WICPixelFormat16bppCbCr T/A

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 R2 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header wincodec.h
Pustaka Windowscodecs.lib
DLL Windowscodecs.dll

Lihat juga

Gambaran Umum Pengodean

IWICBitmapEncoder::CreateNewFrame

IWICPlanarBitmapFrameEncode