CBitmap
Kelas
Merangkum bitmap antarmuka perangkat grafis (GDI) Windows dan menyediakan fungsi anggota untuk memanipulasi bitmap.
Sintaks
class CBitmap : public CGdiObject
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CBitmap::CBitmap |
Membuat CBitmap objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CBitmap::CreateBitmap |
Menginisialisasi objek dengan bitmap memori dependen perangkat yang memiliki lebar, tinggi, dan pola bit yang ditentukan. |
CBitmap::CreateBitmapIndirect |
Menginisialisasi objek dengan bitmap dengan lebar, tinggi, dan pola bit (jika ditentukan) yang diberikan dalam BITMAP struktur. |
CBitmap::CreateCompatibleBitmap |
Menginisialisasi objek dengan bitmap sehingga kompatibel dengan perangkat tertentu. |
CBitmap::CreateDiscardableBitmap |
Menginisialisasi objek dengan bitmap yang dapat dibuang yang kompatibel dengan perangkat tertentu. |
CBitmap::FromHandle |
Mengembalikan penunjuk ke CBitmap objek ketika diberikan handel ke bitmap Windows HBITMAP . |
CBitmap::GetBitmap |
BITMAP Mengisi struktur dengan informasi tentang bitmap. |
CBitmap::GetBitmapBits |
Menyalin bit bitmap yang ditentukan ke dalam buffer yang ditentukan. |
CBitmap::GetBitmapDimension |
Mengembalikan lebar dan tinggi bitmap. Tinggi dan lebar diasumsikan telah ditetapkan sebelumnya oleh SetBitmapDimension fungsi anggota. |
CBitmap::LoadBitmap |
Menginisialisasi objek dengan memuat sumber daya bitmap bernama dari file yang dapat dieksekusi aplikasi dan melampirkan bitmap ke objek. |
CBitmap::LoadMappedBitmap |
Memuat bitmap dan memetakan warna ke warna sistem saat ini. |
CBitmap::LoadOEMBitmap |
Menginisialisasi objek dengan memuat bitmap Windows yang telah ditentukan sebelumnya dan melampirkan bitmap ke objek. |
CBitmap::SetBitmapBits |
Mengatur bit bitmap ke nilai bit yang ditentukan. |
CBitmap::SetBitmapDimension |
Menetapkan lebar dan tinggi ke bitmap dalam unit 0,1 milimeter. |
Operator Publik
Nama | Deskripsi |
---|---|
CBitmap::operator HBITMAP |
Mengembalikan handel Windows yang dilampirkan ke CBitmap objek. |
Keterangan
Untuk menggunakan CBitmap
objek, buat objek, lampirkan handel bitmap ke objek tersebut dengan salah satu fungsi anggota inisialisasi, lalu panggil fungsi anggota objek.
Untuk informasi selengkapnya tentang menggunakan objek grafik seperti CBitmap
, lihat Objek Grafik.
Hierarki Warisan
CBitmap
Persyaratan
Header: afxwin.h
CBitmap::CBitmap
Membuat CBitmap
objek.
CBitmap();
Keterangan
Objek yang dihasilkan harus diinisialisasi dengan salah satu fungsi anggota inisialisasi.
CBitmap::CreateBitmap
Menginisialisasi bitmap memori dependen perangkat yang memiliki lebar, tinggi, dan pola bit yang ditentukan.
BOOL CreateBitmap(
int nWidth,
int nHeight,
UINT nPlanes,
UINT nBitcount,
const void* lpBits);
Parameter
nWidth
Menentukan lebar (dalam piksel) bitmap.
nHeight
Menentukan tinggi (dalam piksel) bitmap.
nPlanes
Menentukan jumlah bidang warna dalam bitmap.
nBitcount
Menentukan jumlah bit warna per piksel tampilan.
lpBits
Menunjuk ke array byte yang berisi nilai bitmap awal. Jika ya NULL
, bitmap baru dibiarkan tidak diinisialisasi.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Untuk bitmap warna, parameter nPlanes
atau nBitcount
harus diatur ke 1. Jika kedua parameter ini diatur ke 1, CreateBitmap
membuat bitmap monokrom.
Meskipun bitmap tidak dapat dipilih secara langsung untuk perangkat tampilan, bitmap saat ini dapat dipilih sebagai bitmap saat ini untuk "konteks perangkat memori" dengan menggunakan CDC::SelectObject
dan disalin ke konteks perangkat yang kompatibel dengan menggunakan CDC::BitBlt
fungsi .
Setelah Selesai dengan objek yang CBitmap
dibuat oleh fungsi, pertama-tama CreateBitmap
pilih bitmap dari konteks perangkat, lalu hapus CBitmap
objek.
Untuk informasi selengkapnya, lihat deskripsi bmBits
bidang dalam BITMAP
struktur. Struktur BITMAP
dijelaskan di CBitmap::CreateBitmapIndirect
bawah fungsi anggota.
CBitmap::CreateBitmapIndirect
Menginisialisasi bitmap yang memiliki lebar, tinggi, dan pola bit (jika ditentukan) yang diberikan dalam struktur yang ditujukkan oleh lpBitmap
.
BOOL CreateBitmapIndirect(LPBITMAP lpBitmap);
Parameter
lpBitmap
Menunjuk ke BITMAP
struktur yang berisi informasi tentang bitmap.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Meskipun bitmap tidak dapat dipilih secara langsung untuk perangkat tampilan, bitmap saat ini dapat dipilih sebagai bitmap saat ini untuk konteks perangkat memori dengan menggunakan CDC::SelectObject
dan disalin ke konteks perangkat yang kompatibel dengan menggunakan CDC::BitBlt
fungsi atau CDC::StretchBlt
. (Fungsi ini CDC::PatBlt
dapat menyalin bitmap untuk kuas saat ini langsung ke konteks perangkat tampilan.)
Jika struktur yang BITMAP
ditujukkan oleh lpBitmap
parameter telah diisi dengan menggunakan GetObject
fungsi , bit bit peta bit tidak ditentukan dan bitmap tidak diinisialisasi. Untuk menginisialisasi bitmap, aplikasi dapat menggunakan fungsi seperti CDC::BitBlt
atau SetDIBits
untuk menyalin bit dari bitmap yang diidentifikasi oleh parameter pertama ke CGdiObject::GetObject
bitmap yang dibuat oleh CreateBitmapIndirect
.
Ketika Anda selesai dengan objek yang CBitmap
dibuat dengan CreateBitmapIndirect
fungsi, pertama-tama pilih bitmap dari konteks perangkat, lalu hapus CBitmap
objek.
CBitmap::CreateCompatibleBitmap
Menginisialisasi bitmap yang kompatibel dengan perangkat yang ditentukan oleh pDC
.
BOOL CreateCompatibleBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Parameter
pDC
Menentukan konteks perangkat.
nWidth
Menentukan lebar (dalam piksel) bitmap.
nHeight
Menentukan tinggi (dalam piksel) bitmap.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Bitmap memiliki jumlah bidang warna yang sama atau format bit per piksel yang sama dengan konteks perangkat yang ditentukan. Ini dapat dipilih sebagai bitmap saat ini untuk perangkat memori apa pun yang kompatibel dengan yang ditentukan oleh pDC
.
Jika pDC
adalah konteks perangkat memori, bitmap yang dikembalikan memiliki format yang sama dengan bitmap yang saat ini dipilih dalam konteks perangkat tersebut. "Konteks perangkat memori" adalah blok memori yang mewakili permukaan tampilan. Ini dapat digunakan untuk menyiapkan gambar dalam memori sebelum menyalinnya ke permukaan tampilan aktual perangkat yang kompatibel.
Saat konteks perangkat memori dibuat, GDI secara otomatis memilih bitmap stok monokrom untuknya.
Karena konteks perangkat memori warna dapat memiliki bitmap warna atau monokrom yang dipilih, format bitmap yang dikembalikan oleh CreateCompatibleBitmap
fungsi tidak selalu sama; namun, format bitmap yang kompatibel untuk konteks perangkat nonmemory selalu dalam format perangkat.
Ketika Anda selesai dengan objek yang CBitmap
dibuat dengan CreateCompatibleBitmap
fungsi , pertama-tama pilih bitmap dari konteks perangkat, lalu hapus CBitmap
objek .
CBitmap::CreateDiscardableBitmap
Menginisialisasi bitmap yang dapat dibuang yang kompatibel dengan konteks perangkat yang diidentifikasi oleh pDC
.
BOOL CreateDiscardableBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Parameter
pDC
Menentukan konteks perangkat.
nWidth
Menentukan lebar (dalam bit) bitmap.
nHeight
Menentukan tinggi (dalam bit) bitmap.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Bitmap memiliki jumlah bidang warna yang sama atau format bit per piksel yang sama dengan konteks perangkat yang ditentukan. Aplikasi dapat memilih bitmap ini sebagai bitmap saat ini untuk perangkat memori yang kompatibel dengan yang ditentukan oleh pDC
.
Windows dapat membuang bitmap yang dibuat oleh fungsi ini hanya jika aplikasi belum memilihnya ke dalam konteks tampilan. Jika Windows membuang bitmap ketika tidak dipilih dan aplikasi kemudian mencoba memilihnya, CDC::SelectObject
fungsi akan mengembalikan NULL.
Ketika Anda selesai dengan objek yang CBitmap
dibuat dengan CreateDiscardableBitmap
fungsi , pertama-tama pilih bitmap dari konteks perangkat, lalu hapus CBitmap
objek .
CBitmap::FromHandle
Mengembalikan penunjuk ke CBitmap
objek saat diberikan handel ke bitmap GDI Windows.
static CBitmap* PASCAL FromHandle(HBITMAP hBitmap);
Parameter
hBitmap
Menentukan bitmap GDI Windows.
Tampilkan Nilai
Penunjuk ke CBitmap
objek jika berhasil; jika tidak NULL
.
Keterangan
CBitmap
Jika objek belum dilampirkan ke handel, objek sementara CBitmap
dibuat dan dilampirkan. Objek sementara CBitmap
ini hanya berlaku sampai kali berikutnya aplikasi memiliki waktu menganggur dalam perulangan peristiwanya, di mana semua objek grafis sementara dihapus. Cara lain untuk mengatakan ini adalah bahwa objek sementara hanya valid selama pemrosesan satu pesan jendela.
CBitmap::GetBitmap
Mengambil properti gambar untuk bitmap terlampir.
int GetBitmap(BITMAP* pBitMap);
Parameter
pBitMap
Penunjuk BITMAP
ke struktur yang akan menerima properti gambar. Parameter ini tidak boleh NULL
.
Tampilkan Nilai
Bukan nol jika metode berhasil; jika tidak, 0.
Keterangan
CBitmap::GetBitmapBits
Menyalin pola bit bit yang dilampirkan ke dalam buffer yang ditentukan.
DWORD GetBitmapBits(
DWORD dwCount,
LPVOID lpBits) const;
Parameter
dwCount
Jumlah byte yang akan disalin ke buffer.
lpBits
Penunjuk ke buffer yang akan menerima bitmap.
Tampilkan Nilai
Jumlah byte yang disalin ke buffer jika metode berhasil; jika tidak, 0.
Keterangan
Gunakan CBitmap::GetBitmap
untuk menentukan ukuran buffer yang diperlukan.
CBitmap::GetBitmapDimension
Mengembalikan lebar dan tinggi bitmap.
CSize GetBitmapDimension() const;
Tampilkan Nilai
Lebar dan tinggi bitmap, diukur dalam 0,1 milimeter unit. Tinggi berada di cy
anggota CSize
objek, dan lebarnya ada di cx
anggota. Jika lebar dan tinggi bitmap belum diatur dengan menggunakan SetBitmapDimension
, nilai yang dikembalikan adalah 0.
Keterangan
Tinggi dan lebar diasumsikan telah diatur sebelumnya dengan menggunakan SetBitmapDimension
fungsi anggota.
CBitmap::LoadBitmap
Memuat sumber daya bitmap yang dinamai oleh lpszResourceName
atau diidentifikasi oleh nomor ID dari nIDResource
file yang dapat dieksekusi aplikasi.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Parameter
lpszResourceName
Menunjuk ke string null-terminated yang berisi nama sumber daya bitmap.
nIDResource
Menentukan nomor ID sumber daya sumber daya bitmap.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Bitmap yang dimuat dilampirkan ke CBitmap
objek.
Jika bitmap yang diidentifikasi oleh lpszResourceName
tidak ada atau jika memori tidak mencukupi untuk memuat bitmap, fungsi mengembalikan 0.
Anda dapat menggunakan CGdiObject::DeleteObject
fungsi untuk menghapus bitmap yang dimuat oleh LoadBitmap
fungsi, atau CBitmap
destruktor akan menghapus objek untuk Anda.
Perhatian
Sebelum Anda menghapus objek, pastikan objek tidak dipilih ke dalam konteks perangkat.
Bitmap berikut ditambahkan ke Windows versi 3.1 dan yang lebih baru:
OBM_UPARRROWIOBM_DNARROWIOBM_RGARROWIOBM_LFARROWI
Bitmap ini tidak ditemukan di driver perangkat untuk Windows versi 3.0 dan yang lebih lama. Untuk daftar lengkap bitmap dan tampilan tampilannya, lihat Windows SDK.
CBitmap::LoadMappedBitmap
Panggil fungsi anggota ini untuk memuat bitmap dan memetakan warna ke warna sistem saat ini.
BOOL LoadMappedBitmap(
UINT nIDBitmap,
UINT nFlags = 0,
LPCOLORMAP lpColorMap = NULL,
int nMapSize = 0);
Parameter
nIDBitmap
ID sumber daya bitmap.
nFlags
Bendera untuk bitmap. Bisa nol atau CMB_MASKED
.
lpColorMap
Penunjuk ke COLORMAP
struktur yang berisi informasi warna yang diperlukan untuk memetakan bitmap. Jika parameter ini adalah NULL
, fungsi menggunakan peta warna default.
nMapSize
Jumlah peta warna yang ditujukkan oleh lpColorMap
.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Secara default, LoadMappedBitmap
akan memetakan warna yang umum digunakan dalam glyph tombol.
Untuk informasi tentang membuat bitmap yang dipetakan, lihat fungsi CreateMappedBitmap
Windows dan COLORMAP
struktur di Windows SDK.
CBitmap::LoadOEMBitmap
Memuat bitmap yang telah ditentukan sebelumnya yang digunakan oleh Windows.
BOOL LoadOEMBitmap(UINT nIDBitmap);
Parameter
nIDBitmap
Nomor ID dari bitmap Windows yang telah ditentukan sebelumnya. Nilai yang mungkin tercantum di bawah ini dari WINDOWS.H
:
OBM_BTNCORNERS
OBM_BTSIZE
OBM_CHECK
OBM_CHECKBOXES
OBM_CLOSE
OBM_COMBO
OBM_DNARROW
OBM_DNARROWD
OBM_DNARROWI
OBM_LFARROW
OBM_LFARROWD
OBM_LFARROWI
OBM_MNARROW
OBM_OLD_CLOSE
OBM_OLD_DNARROW
OBM_OLD_LFARROW
OBM_OLD_REDUCE
OBM_OLD_RESTORE
OBM_OLD_RGARROW
OBM_OLD_UPARROW
OBM_OLD_ZOOM
OBM_REDUCE
OBM_REDUCED
OBM_RESTORE
OBM_RESTORED
OBM_RGARROW
OBM_RGARROWD
OBM_RGARROWI
OBM_SIZE
OBM_UPARROW
OBM_UPARROW
OBM_UPARROWD
OBM_ZOOM
OBM_ZOOMD
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Nama bitmap yang dimulai dengan OBM_OLD
represent bitmap yang digunakan oleh versi Windows sebelum 3.0.
Perhatikan bahwa konstanta OEMRESOURCE
harus ditentukan sebelum menyertakan WINDOWS.H
untuk menggunakan salah OBM_
satu konstanta.
CBitmap::operator HBITMAP
Gunakan operator ini untuk mendapatkan handel Windows GDI objek yang CBitmap
terpasang.
operator HBITMAP() const;
Tampilkan Nilai
Jika berhasil, handel ke objek GDI Windows yang diwakili oleh CBitmap
objek; jika tidak NULL
.
Keterangan
Operator ini adalah operator transmisi, yang mendukung penggunaan HBITMAP
langsung objek.
Untuk informasi selengkapnya tentang menggunakan objek grafis, lihat Objek Grafis di Windows SDK.
CBitmap::SetBitmapBits
Mengatur bit bitmap ke nilai bit yang diberikan oleh lpBits
.
DWORD SetBitmapBits(
DWORD dwCount,
const void* lpBits);
Parameter
dwCount
Menentukan jumlah byte yang ditujukkan oleh lpBits
.
lpBits
Arahkan ke BYTE
array yang berisi nilai piksel yang akan disalin ke CBitmap
objek. Agar bitmap dapat merender gambarnya dengan benar, nilai harus diformat agar sesuai dengan nilai tinggi, lebar, dan kedalaman warna yang ditentukan saat CBitmap
instans dibuat. Untuk informasi selengkapnya, lihat CBitmap::CreateBitmap
.
Tampilkan Nilai
Jumlah byte yang digunakan dalam mengatur bit bitmap; 0 jika fungsi gagal.
CBitmap::SetBitmapDimension
Menetapkan lebar dan tinggi ke bitmap dalam unit 0,1 milimeter.
CSize SetBitmapDimension(
int nWidth,
int nHeight);
Parameter
nWidth
Menentukan lebar bitmap (dalam unit 0,1 milimeter).
nHeight
Menentukan tinggi bitmap (dalam unit 0,1 milimeter).
Tampilkan Nilai
Dimensi bitmap sebelumnya. Tinggi berada dalam cy
variabel CSize
anggota objek, dan lebar berada dalam cx
variabel anggota.
Keterangan
GDI tidak menggunakan nilai-nilai ini kecuali untuk mengembalikannya saat aplikasi memanggil GetBitmapDimension
fungsi anggota.