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

Lihat juga

BitBlt

Fungsi Bitmap

Gambaran Umum Bitmap

CreateDIBSection

GetDIBits

GetDeviceCaps

MaskBlt

PlgBlt

SetDIBits

SetStretchBltMode

StretchDIBits