Tentang Fungsi DrawDib

[Fitur yang terkait dengan halaman ini, DrawDib, adalah fitur warisan. Ini telah digantikan oleh kelas MediaComposition. Kelas MediaComposition telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan kelas MediaComposition alih-alih DrawDib, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Secara kolektif, fungsi DrawDib mirip dengan fungsi StretchDIBits karena menyediakan kemampuan peregangan gambar dan peniruan. Namun, fungsi DrawDib mendukung dekompresi gambar, streaming data, dan sejumlah besar adaptor tampilan.

Anda akan merasa bermanfaat untuk menggunakan fungsi DrawDib dalam beberapa keadaan. Namun, StretchDIBits lebih beragam daripada fungsi DrawDib dan harus digunakan ketika fungsi DrawDib tidak dapat menyediakan fungsionalitas yang diinginkan. Daftar berikut ini menjelaskan faktor-faktor yang perlu dipertimbangkan saat memutuskan apakah akan menggunakan fungsi DrawDib atau StretchDIBits.

  • Format informasi tabel warna. Fungsi DrawDib menampilkan gambar yang menggunakan format DIB_RGB_COLORS untuk tabel warnanya. Jika gambar di aplikasi Anda menyimpan informasi tabel warna dengan format DIB_PAL_COLORS atau DIB_PAL_INDICES , Anda harus menggunakan StretchDIBits untuk menampilkannya.

  • Mode transfer. Fungsi DrawDib mengharuskan aplikasi Anda menggunakan mode transfer SRCCOPY . Jika aplikasi Anda menggunakan StretchDIBits dengan mode transfer selain SRCCOPY, Anda harus terus menggunakan StretchDIBits. Demikian pula, jika Anda perlu menggunakan operasi raster lain di aplikasi Anda, seperti XOR, gunakan StretchDIBits.

  • Kualitas pemutaran video dan animasi. Anda dapat menggunakan fungsi DrawDib untuk aplikasi streaming data, seperti yang memutar klip video dan urutan animasi. Fungsi DrawDib mengungguli StretchDIBits karena memberikan gambar berkualitas lebih tinggi dan meningkatkan gerakan selama pemutaran.

  • Tampilkan adaptor. Fungsi DrawDib mendukung lebih banyak adaptor tampilan daripada yang didukung StretchDIBits . Fungsi DrawDib mendukung adaptor warna VGA yang menyediakan palet 16 warna menggunakan kedalaman gambar 4-bit, adaptor SVGA yang menyediakan palet 256 warna menggunakan kedalaman gambar 8-bit, dan adaptor tampilan warna sejati yang menyediakan ribuan warna menggunakan kedalaman gambar 16-bit, 24-bit, dan 32-bit.

    Fungsi DrawDib juga meningkatkan kecepatan dan kualitas menampilkan gambar pada adaptor tampilan dengan kemampuan yang lebih terbatas. Misalnya, saat menggunakan adaptor tampilan 8-bit, DrawDib berfungsi secara efisien menguraikan gambar true-color ke 256 warna. Mereka juga menggunakan gambar 8-bit saat menggunakan adaptor tampilan 4-bit.

  • Peregangan gambar. Seperti StretchDIBits, fungsi DrawDib menggunakan persegi panjang sumber dan tujuan untuk mengontrol bagian gambar yang ditampilkan. Anda dapat memangkas bagian gambar yang tidak diinginkan atau meregangkan gambar dengan memvariasikan posisi dan ukuran persegi panjang sumber dan tujuan. Jika driver tampilan tidak mendukung peregangan gambar, fungsi DrawDib memberikan kemampuan peregangan yang lebih efisien daripada StretchDIBits.

  • Gambar terkompresi. Fungsi DrawDib akan menggambar format apa pun yang anda miliki dekompresornya, termasuk pengodean run-length (RLE), Cinepak, dan 411 YUV. Windows mencakup dekompresor RLE dan Cinepak yang dapat diinstal secara opsional.

  • Codec Indeo tidak lagi didukung di Windows.

DrawDib