Fungsi StretchBlt (wingdi.h)
Fungsi StretchBlt menyalin bitmap dari persegi panjang sumber ke persegi panjang tujuan, meregangkan atau mengompresi bitmap agar pas dengan dimensi persegi panjang tujuan, jika perlu. Sistem meregangkan atau mengompresi bitmap sesuai dengan mode peregangan yang saat ini diatur dalam konteks perangkat tujuan.
Sintaks
BOOL StretchBlt(
[in] HDC hdcDest,
[in] int xDest,
[in] int yDest,
[in] int wDest,
[in] int hDest,
[in] HDC hdcSrc,
[in] int xSrc,
[in] int ySrc,
[in] int wSrc,
[in] int hSrc,
[in] DWORD rop
);
Parameter
[in] hdcDest
Handel ke konteks perangkat tujuan.
[in] xDest
Koordinat x, dalam unit logis, dari sudut kiri atas persegi tujuan.
[in] yDest
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang tujuan.
[in] wDest
Lebar, dalam unit logis, dari persegi tujuan.
[in] hDest
Tinggi, dalam unit logis, persegi panjang tujuan.
[in] hdcSrc
Handel ke konteks perangkat sumber.
[in] xSrc
Koordinat x, dalam unit logis, dari sudut kiri atas persegi panjang sumber.
[in] ySrc
Koordinat y, dalam unit logis, dari sudut kiri atas persegi panjang sumber.
[in] wSrc
Lebar, dalam unit logis, persegi panjang sumber.
[in] hSrc
Tinggi, dalam unit logis, dari persegi panjang sumber.
[in] rop
Operasi raster yang akan dilakukan. Kode operasi raster menentukan bagaimana sistem menggabungkan warna dalam operasi output yang melibatkan kuas, bitmap sumber, dan bitmap tujuan.
Lihat BitBlt untuk daftar kode operasi raster umum (ROP). Perhatikan bahwa CAPTUREBLT ROP umumnya tidak dapat digunakan untuk mencetak konteks perangkat.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol.
Keterangan
StretchBlt meregangkan atau mengompresi bitmap sumber dalam memori lalu menyalin hasilnya ke persegi panjang tujuan. Bitmap ini dapat berupa bitmap yang kompatibel (DDB) atau output dari CreateDIBSection. Data warna untuk piksel pola atau tujuan digabungkan setelah peregangan atau pemadatan terjadi.
Ketika metafile yang disempurnakan sedang direkam, kesalahan terjadi (dan fungsi mengembalikan FALSE) jika konteks perangkat sumber mengidentifikasi konteks perangkat metafile yang disempurnakan.
Jika operasi raster yang ditentukan memerlukan kuas, sistem menggunakan kuas yang saat ini dipilih ke dalam konteks perangkat tujuan.
Koordinat tujuan diubah dengan menggunakan transformasi yang saat ini ditentukan untuk konteks perangkat tujuan; koordinat sumber diubah dengan menggunakan transformasi yang saat ini ditentukan untuk konteks perangkat sumber.
Jika transformasi sumber memiliki rotasi atau geser, kesalahan terjadi.
Jika bitmap tujuan, sumber, dan pola tidak memiliki format warna yang sama, StretchBlt mengonversi bitmap sumber dan pola agar sesuai dengan bitmap tujuan.
Jika StretchBlt harus mengonversi bitmap monokrom menjadi bitmap warna, ia mengatur bit putih (1) ke warna latar belakang dan bit hitam (0) ke warna latar depan. Untuk mengonversi bitmap warna menjadi bitmap monokrom, bitmap ini mengatur piksel yang cocok dengan warna latar belakang menjadi putih (1) dan mengatur semua piksel lain ke hitam (0). Warna latar depan dan latar belakang konteks perangkat dengan warna digunakan.
StretchBlt membuat gambar cermin bitmap jika tanda-tanda parameter nWidthSrc dan nWidthDest atau jika parameter nHeightSrc dan nHeightDest berbeda. Jika nWidthSrc dan nWidthDest memiliki tanda yang berbeda, fungsi membuat gambar cermin bitmap di sepanjang sumbu x. Jika nHeightSrc dan nHeightDest memiliki tanda yang berbeda, fungsi membuat gambar cermin bitmap di sepanjang sumbu y.
Tidak semua perangkat mendukung fungsi StretchBlt . Untuk informasi selengkapnya, lihat GetDeviceCaps.
ICM: Tidak ada manajemen warna yang dilakukan ketika operasi blit terjadi.
Ketika digunakan dalam sistem beberapa monitor, hdcSrc dan hdcDest harus merujuk ke perangkat yang sama atau fungsi akan gagal. Untuk mentransfer data antar DC untuk perangkat yang berbeda, konversikan bitmap memori ke DIB dengan memanggil GetDIBits. Untuk menampilkan DIB ke perangkat kedua, panggil SetDIBits atau StretchDIBits.
Contoh
Misalnya, lihat Menskalakan Gambar.
Persyaratan
Persyaratan | Nilai |
---|---|
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 |