Metode IWICPlanarBitmapFrameEncode::WriteSource (wincodec.h)
Menulis baris dari bidang sumber ke format yang dikodekan.
Sintaks
HRESULT WriteSource(
[in] IWICBitmapSource **ppPlanes,
UINT cPlanes,
WICRect *prcSource
);
Parameter
[in] ppPlanes
Jenis: IWICBitmapSource**
Menentukan array IWICBitmapSource yang mewakili bidang gambar.
cPlanes
Jenis: UINT
Jumlah bidang komponen yang ditentukan oleh parameter bidang.
prcSource
Jenis: WICRect*
Persegi panjang sumber piksel untuk dikodekan dari bidang IWICBitmapSource . Null menunjukkan seluruh sumber. Lebar rect sumber harus cocok dengan lebar yang diatur melalui SetSize. Panggilan WriteSource berulang dapat dilakukan selama total akumulasi tinggi rect sumber sama dengan yang diatur melalui SetSize.
Mengembalikan nilai
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 WriteSource berturut-turut diasumsikan secara berurutan menambahkan pemindaian ke gambar output. IWICBitmapFrameEncode::Initialize, IWICBitmapFrameEncode::SetSize dan IWICBitmapFrameEncode::SetPixelFormat harus dipanggil sebelum metode ini atau akan gagal.
Format piksel interleaved yang diatur melalui IWICBitmapFrameEncode::SetPixelFormat dan parameter encode 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 JPEG WIC, 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 | Koordinat X | Koordinat Y | Lebar Chroma | Tinggi Kroma |
---|---|---|---|---|
4:2:0 | Kelipatan 2 | Kelipatan 2 | lumaWidth / 2 Dibulatkan ke atas ke bilangan bulat terdekat. | lumaHeight / 2 Dibulatkan ke atas ke bilangan bulat terdekat. |
4:2:2 | Kelipatan 2 | Apa pun | lumaWidth / 2 Dibulatkan ke atas ke bilangan bulat terdekat. | Apa pun |
4:4:4 | Apa pun | Apa pun | Apa pun | Apa pun |
4:4:0 | Apa pun | Kelipatan 2 | lumaWidth | llumaHeight / 2 Dibulatkan ke atas 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 piksel harus GUID_WICPixelFormat24bppBGR.
Format piksel yang didukung dari sumber bitmap yang diteruskan ke metode ini adalah sebagai berikut:
Jumlah Bidang | Pesawat 1 | Bidang 2 | Pesawat 3 |
---|---|---|---|
3 | GUID_WICPixelFormat8bppY | GUID_WICPixelFormat8bppCb | GUID_WICPixelFormat8bppCr |
2 | GUID_WICPixelFormat8bppY | GUID_WICPixelFormat16bppCbCr | T/A |
Persyaratan
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk