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 |