Fungsi SetDIBits (wingdi.h)

Fungsi SetDIBits mengatur piksel dalam bitmap (DDB) yang kompatibel menggunakan data warna yang ditemukan di DIB yang ditentukan.

Sintaks

int SetDIBits(
  [in] HDC              hdc,
  [in] HBITMAP          hbm,
  [in] UINT             start,
  [in] UINT             cLines,
  [in] const VOID       *lpBits,
  [in] const BITMAPINFO *lpbmi,
  [in] UINT             ColorUse
);

Parameter

[in] hdc

Handel ke konteks perangkat.

[in] hbm

Handel ke bitmap yang kompatibel (DDB) yang akan diubah menggunakan data warna dari DIB yang ditentukan.

[in] start

Baris pemindaian awal untuk data warna independen perangkat dalam array yang ditujukkan oleh parameter lpvBits .

[in] cLines

Jumlah baris pemindaian yang ditemukan dalam array yang berisi data warna independen perangkat.

[in] lpBits

Penunjuk ke data warna DIB, disimpan sebagai array byte. Format nilai bitmap tergantung pada anggota biBitCount dari struktur BITMAPINFO yang ditujukkan oleh parameter lpbmi .

[in] lpbmi

Penunjuk ke struktur BITMAPINFO yang berisi informasi tentang DIB.

[in] ColorUse

Menunjukkan apakah anggota bmiColors dari struktur BITMAPINFO disediakan dan, jika demikian, apakah bmiColors berisi nilai merah, hijau, biru (RGB) eksplisit atau indeks palet. Parameter fuColorUse harus menjadi salah satu nilai berikut.

Nilai Makna
DIB_PAL_COLORS
Tabel warna terdiri dari array indeks 16-bit ke dalam palet logis konteks perangkat yang diidentifikasi oleh parameter hdc .
DIB_RGB_COLORS
Tabel warna disediakan dan berisi nilai RGB harfiah.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah jumlah baris pemindaian yang disalin.

Jika fungsi gagal, nilai yang dikembalikan adalah nol.

Ini bisa menjadi nilai berikut.

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Satu atau beberapa parameter input tidak valid.

Keterangan

Kecepatan gambar bitmap optimal diperoleh ketika bitmap bit adalah indeks ke dalam palet sistem.

Aplikasi dapat mengambil warna dan indeks palet sistem dengan memanggil fungsi GetSystemPaletteEntries . Setelah warna dan indeks diambil, aplikasi dapat membuat DIB. Untuk informasi selengkapnya, lihat Palet Sistem.

Konteks perangkat yang diidentifikasi oleh parameter hdc hanya digunakan jika konstanta DIB_PAL_COLORS diatur untuk parameter fuColorUse ; jika tidak, itu diabaikan.

Bitmap yang diidentifikasi oleh parameter hbmp tidak boleh dipilih ke dalam konteks perangkat saat aplikasi memanggil fungsi ini.

Baris pemindaian harus diselaraskan pada DWORD kecuali untuk bitmap terkompresi RLE.

Asal untuk DIB bawah-atas adalah sudut kiri bawah bitmap; asal untuk DIB atas bawah adalah sudut kiri atas bitmap.

ICM: Manajemen warna dilakukan jika manajemen warna telah diaktifkan dengan panggilan ke SetICMMode dengan parameter iEnableICM diatur ke ICM_ON. Jika bitmap yang ditentukan oleh lpbmi memiliki BITMAPV4HEADER yang menentukan anggota gamma dan titik akhir, atau BITMAPV5HEADER yang menentukan anggota gamma dan titik akhir atau profilData dan anggota profileSize, maka panggilan memperlakukan piksel bitmap seperti yang dinyatakan dalam ruang warna yang dijelaskan oleh anggota tersebut, bukan di ruang warna sumber konteks perangkat.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wingdi.h (sertakan Windows.h)
Pustaka Gdi32.lib
DLL Gdi32.dll

Lihat juga

BITMAPINFO

Fungsi Bitmap

Gambaran Umum Bitmap

GetDIBits

GetSystemPaletteEntries