Bagikan melalui


Tentang Fungsi DrawDib

[Fitur yang terkait dengan halaman ini, DrawDib, adalah fitur warisan. Kelas MediaComposition telah digantikan oleh. 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 di mana fungsi tersebut menyediakan kemampuan peregangan gambar dan dithering. Namun, fungsi DrawDib mendukung dekompresi gambar, streaming data, dan jumlah adaptor tampilan yang lebih besar.

Anda akan menemukan bahwa dalam beberapa keadaan, menggunakan fungsi DrawDib akan menguntungkan. Namun, StretchDIBits lebih beragam daripada fungsi DrawDib dan harus digunakan ketika fungsi DrawDib tidak dapat menyediakan fungsionalitas yang diinginkan. Daftar berikut 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 aplikasi Anda menyimpan informasi tabel warna gambar 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 menggunakanStretchDIBitsdengan mode transfer selain SRCCOPY, Anda harus terus menggunakan StretchDIBits. Demikian pula, jika Anda perlu menggunakan operasi raster lain dalam 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.

  • Adapter layar. Fungsi DrawDib mendukung lebih banyak adaptor tampilan dibandingkan fungsi 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 benar 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, fungsi DrawDib secara efisien menghaluskan gambar warna benar ke 256 warna. Mereka juga menerapkan teknik dither pada gambar 8-bit ketika memakai adaptor tampilan 4-bit.

  • Peregangan gambar digital. Seperti StretchDIBits, fungsi DrawDib menggunakan persegi 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 memiliki dekompresor, 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