Bagikan melalui


Fungsi DrawDibDraw (vfw.h)

Fungsi DrawDibDraw menggambar DIB ke layar.

Sintaks

BOOL VFWAPI DrawDibDraw(
  HDRAWDIB           hdd,
  HDC                hdc,
  int                xDst,
  int                yDst,
  int                dxDst,
  int                dyDst,
  LPBITMAPINFOHEADER lpbi,
  LPVOID             lpBits,
  int                xSrc,
  int                ySrc,
  int                dxSrc,
  int                dySrc,
  UINT               wFlags
);

Parameter

hdd

Menangani ke DrawDib DC.

hdc

Tangani ke DC.

xDst

Koordinat x, dalam koordinat klien MM_TEXT , dari sudut kiri atas persegi panjang tujuan.

yDst

Koordinat y, dalam koordinat klien MM_TEXT , dari sudut kiri atas persegi panjang tujuan.

dxDst

Lebar, dalam koordinat klien MM_TEXT , persegi panjang tujuan. Jika dxDst adalah −1, lebar bitmap digunakan.

dyDst

Tinggi, dalam koordinat klien MM_TEXT , persegi panjang tujuan. Jika dyDst adalah −1, tinggi bitmap digunakan.

lpbi

Penunjuk ke struktur BITMAPINFOHEADER yang berisi format gambar. Tabel warna untuk DIB dalam BITMAPINFOHEADER mengikuti format dan anggota biHeight harus berupa nilai positif; DrawDibDraw tidak akan menggambar DIB terbalik.

lpBits

Penunjuk ke buffer yang berisi bit bitmap.

xSrc

Koordinat x, dalam piksel, dari sudut kiri atas persegi panjang sumber. Koordinat (0,0) mewakili sudut kiri atas bitmap.

ySrc

Koordinat y, dalam piksel, dari sudut kiri atas persegi panjang sumber. Koordinat (0,0) mewakili sudut kiri atas bitmap.

dxSrc

Lebar, dalam piksel, persegi panjang sumber.

dySrc

Tinggi, dalam piksel, persegi panjang sumber.

wFlags

Bendera yang berlaku untuk menggambar. Nilai berikut didefinisikan.

Nilai Makna
DDF_BACKGROUNDPAL Mewujudkan palet yang digunakan untuk menggambar di latar belakang, membiarkan palet aktual yang digunakan untuk tampilan tidak berubah. Nilai ini hanya valid jika DDF_SAME_HDC tidak ditetapkan.
DDF_DONTDRAW Gambar saat ini didekompresi tetapi tidak digambar. Bendera ini menggantikan bendera DDF_PREROLL .
DDF_FULLSCREEN Tidak didukung.
DDF_HALFTONE Selalu alihkan DIB ke palet standar terlepas dari palet DIB. Jika aplikasi Anda menggunakan fungsi DrawDibBegin , tetapkan nilai ini di DrawDibBegin daripada di DrawDibDraw.
DDF_HURRYUP Data tidak harus digambar (yaitu, dapat dihilangkan) dan DDF_UPDATE tidak akan digunakan untuk memanggil kembali informasi ini. DrawDib memeriksa nilai ini hanya jika diperlukan untuk membangun bingkai berikutnya; jika tidak, nilai diabaikan. Nilai ini biasanya digunakan untuk menyinkronkan video dan audio. Saat menyinkronkan data, aplikasi harus mengirim gambar dengan nilai ini jika driver perlu menyangga bingkai untuk mendekompresi bingkai berikutnya.
DDF_NOTKEYFRAME Data DIB bukan bingkai kunci.
DDF_SAME_HDC Gunakan handel DC saat ini dan palet yang saat ini terkait dengan DC.
DDF_SAME_DRAW Gunakan parameter gambar saat ini untuk DrawDibDraw. Gunakan nilai ini hanya jika lpbi, dxDst, dyDst, dxSrc, dan dySrc tidak berubah sejak menggunakan DrawDibDraw atau DrawDibBegin. DrawDibDraw biasanya memeriksa parameter, dan jika telah berubah, DrawDibBegin menyiapkan DrawDib DC untuk menggambar. Bendera ini menggantikan bendera DDF_SAME_DIB dan DDF_SAME_SIZE .
DDF_UPDATE Bitmap terakhir yang di-buffer adalah untuk digambar ulang. Jika gambar gagal dengan nilai ini, gambar yang di-buffer tidak tersedia dan gambar baru perlu ditentukan sebelum tampilan dapat diperbarui.

Mengembalikan nilai

Mengembalikan TRUE jika berhasil atau FALSE sebaliknya.

Keterangan

DDF_DONTDRAW menyebabkan DrawDibDraw didekompresi tetapi tidak menampilkan gambar. Panggilan berikutnya ke DrawDibDraw yang menentukan DDF_UPDATE menampilkan gambar.

Jika DrawDib DC tidak memiliki buffer di luar layar yang ditentukan, menentukan DDF_DONTDRAW menyebabkan bingkai segera digambar ke layar. Panggilan berikutnya ke DrawDibDraw yang menentukan DDF_UPDATE gagal.

Meskipun diatur pada waktu yang berbeda, DDF_UPDATE dan DDF_DONTDRAW dapat digunakan bersama-sama untuk membuat gambar komposit di luar layar. Saat gambar di luar layar selesai, Anda dapat menampilkan gambar dengan memanggil DrawDibDraw.

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 vfw.h
Pustaka Vfw32.lib
DLL Msvfw32.dll

Lihat juga

Fungsi DrawDib