Bagikan melalui


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

CObject

CGdiObject

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.

Lihat juga

MFC Sampel MDI
CGdiObject Kelas
Bagan Hierarki