METODE ID2D1DeviceContext2::CreateImageSourceFromDxgi (d2d1_3.h)
Membuat sumber gambar dari satu set permukaan DXGI. Permukaan YCbCr dikonversi ke RGBA secara otomatis selama gambar berikutnya.
Sintaks
HRESULT CreateImageSourceFromDxgi(
IDXGISurface **surfaces,
UINT32 surfaceCount,
DXGI_COLOR_SPACE_TYPE colorSpace,
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,
ID2D1ImageSource **imageSource
);
Parameter
surfaces
Ketik: [in] IDXGISurface**
DXGI muncul untuk membuat sumber gambar.
surfaceCount
Jenis: UINT32
Jumlah permukaan yang disediakan; harus antara satu dan tiga.
colorSpace
Jenis: DXGI_COLOR_SPACE_TYPE
Ruang warna input.
options
Jenis: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
Opsi yang mengontrol konversi ruang warna.
imageSource
Jenis: [out] ID2D1ImageSource**
Menerima instans sumber gambar baru.
Nilai kembali
Jenis: HRESULT
S_OK jika berhasil, jika tidak, HRESULT gagal.
Keterangan
Metode ini membuat sumber gambar, yang dapat digunakan untuk menggambar gambar.
Metode ini mendukung permukaan yang menggunakan sekumpulan format DXGI terbatas dan jenis ruang warna DXGI. Hanya serangkaian kombinasi jenis ruang warna, format permukaan, dan jumlah permukaan di bawah ini yang didukung:
Tipe Ruang Warna | Jumlah Permukaan | Format Permukaan |
---|---|---|
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 | 1 | Format piksel standar yang didukung D2D:
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 | 1, 2, 3 | Ketika jumlah Surface adalah 1:
|
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 |
1,2,3 |
Ketika jumlah Surface adalah 1:
|
GPU juga harus memiliki dukungan yang memadai agar format piksel didukung oleh D2D. Untuk menentukan apakah D2D mendukung format, panggil IsDxgiFormatSupported.
API ini mengonversi format YCbCr menjadi sRGB menggunakan jenis dan opsi ruang warna yang disediakan. Data RGBA diasumsikan berada di ruang yang diinginkan, dan D2D tidak menerapkan konversi apa pun.
Jika beberapa permukaan disediakan, metode ini menyimpulkan apakah bidang klorma disubsampel (sebesar 2x) dari ukuran relatif setiap persegi panjang sumber yang sesuai (atau jika parameter persegi panjang sumber NULL, batas setiap permukaan). Persegi panjang kedua dan ketiga masing-masing harus sama ukurannya dengan persegi panjang pertama, atau ke persegi panjang pertama dengan satu atau kedua dimensi diskalakan sebesar 0,5 (saat dibulatkan ke atas).
Jika disediakan, persegi panjang sumber harus berada di dalam batas permukaan yang sesuai. Persegi panjang sumber mungkin memiliki asal yang berbeda. Dalam hal ini, metode ini menggeser data dari setiap bidang untuk selaras satu sama lain.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2016 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | d2d1_3.h |
DLL | D2d1.dll |