CBitmap
Sınıf
Bir Windows grafik cihaz arabirimi (GDI) bit eşlemini kapsüller ve bit eşlemi işlemek için üye işlevleri sağlar.
Sözdizimi
class CBitmap : public CGdiObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CBitmap::CBitmap |
Bir CBitmap nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CBitmap::CreateBitmap |
Nesneyi, belirtilen genişlik, yükseklik ve bit deseni olan cihaza bağımlı bir bellek bit eşlemi ile başlatır. |
CBitmap::CreateBitmapIndirect |
Nesneyi, bir yapıda verilen genişlik, yükseklik ve bit deseni (belirtilmişse) ile bir BITMAP bit eşlem ile başlatır. |
CBitmap::CreateCompatibleBitmap |
Belirtilen bir cihazla uyumlu olması için nesneyi bit eşlem ile başlatır. |
CBitmap::CreateDiscardableBitmap |
Nesneyi, belirtilen bir cihazla uyumlu atılabilir bir bit eşlem ile başlatır. |
CBitmap::FromHandle |
Bir Windows HBITMAP bit eşlemine CBitmap tanıtıcı verildiğinde nesneye bir işaretçi döndürür. |
CBitmap::GetBitmap |
Bir BITMAP yapıyı bit eşlem hakkındaki bilgilerle doldurur. |
CBitmap::GetBitmapBits |
Belirtilen bit eşlem bitlerini belirtilen arabelleğe kopyalar. |
CBitmap::GetBitmapDimension |
Bit eşlem genişliğini ve yüksekliğini döndürür. Yükseklik ve genişlik değerinin daha önce üye işlevi tarafından SetBitmapDimension ayarlandığı varsayılır. |
CBitmap::LoadBitmap |
Uygulamanın yürütülebilir dosyasından adlandırılmış bir bit eşlem kaynağı yükleyerek ve bit eşlemi nesneye ekleyerek nesnesini başlatır. |
CBitmap::LoadMappedBitmap |
Bit eşlem yükler ve renkleri geçerli sistem renklerine eşler. |
CBitmap::LoadOEMBitmap |
Önceden tanımlanmış bir Windows bit eşlemini yükleyip bit eşlemi nesneye ekleyerek nesnesini başlatır. |
CBitmap::SetBitmapBits |
Bit eşlem bitlerini belirtilen bit değerlerine ayarlar. |
CBitmap::SetBitmapDimension |
Bit eşlem için 0,1 milimetre birim cinsinden genişlik ve yükseklik atar. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
CBitmap::operator HBITMAP |
Nesneye bağlı Windows tutamacını CBitmap döndürür. |
Açıklamalar
Bir CBitmap
nesneyi kullanmak için nesnesini oluşturup başlatma üyesi işlevlerinden biriyle buna bir bit eşlem tutamacı ekleyin ve nesnenin üye işlevlerini çağırın.
gibi CBitmap
grafik nesneleri kullanma hakkında daha fazla bilgi için bkz . Grafik Nesneleri.
Devralma Hiyerarşisi
CBitmap
Gereksinimler
Üstbilgi: afxwin.h
CBitmap::CBitmap
Bir CBitmap
nesne oluşturur.
CBitmap();
Açıklamalar
Sonuçta elde edilen nesne başlatma üye işlevlerinden biriyle başlatılmalıdır.
CBitmap::CreateBitmap
Belirtilen genişlik, yükseklik ve bit deseni olan cihaza bağımlı bir bellek bit eşlemi başlatır.
BOOL CreateBitmap(
int nWidth,
int nHeight,
UINT nPlanes,
UINT nBitcount,
const void* lpBits);
Parametreler
nWidth
Bit eşlem genişliğini (piksel cinsinden) belirtir.
nHeight
Bit eşlem yüksekliğini (piksel cinsinden) belirtir.
nPlanes
Bit eşlem içindeki renk düzlemlerinin sayısını belirtir.
nBitcount
Görüntü pikseli başına renk biti sayısını belirtir.
lpBits
İlk bit eşlem bit değerlerini içeren bir bayt dizisine işaret eder. ise NULL
, yeni bit eşlem başlatılmamış olarak bırakılır.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Renkli bit eşlem nPlanes
için veya nBitcount
parametresi 1 olarak ayarlanmalıdır. Bu parametrelerin her ikisi de 1 olarak ayarlanırsa, CreateBitmap
tek renkli bir bit eşlem oluşturur.
Bir bit eşlem görüntüleme cihazı için doğrudan seçilemiyor olsa da, işlevi kullanılarak CDC::SelectObject
bir "bellek cihazı bağlamı" için geçerli bit eşlem olarak seçilebilir ve uyumlu herhangi bir cihaz bağlamı CDC::BitBlt
kullanılarak kopyalanabilir.
İşlev tarafından CreateBitmap
oluşturulan nesneyle CBitmap
bitirdiğinizde, önce cihaz bağlamından bit eşlemi seçin, ardından nesneyi silinCBitmap
.
Daha fazla bilgi için yapıdaki alanın açıklamasına bmBits
BITMAP
bakın. Yapı BITMAP
, üye işlevi altında CBitmap::CreateBitmapIndirect
açıklanmıştır.
CBitmap::CreateBitmapIndirect
tarafından işaret lpBitmap
edilen yapıda verilen genişlik, yükseklik ve bit desenine (belirtilmişse) sahip bir bit eşlem başlatır.
BOOL CreateBitmapIndirect(LPBITMAP lpBitmap);
Parametreler
lpBitmap
Bit eşlem hakkında bilgi içeren bir BITMAP
yapıyı gösterir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Görüntü cihazı için bit eşlem doğrudan seçilemiyor olsa da, veya CDC::StretchBlt
işlevi kullanılarak CDC::SelectObject
bir bellek cihazı bağlamı için geçerli bit eşlem olarak seçilebilir ve uyumlu herhangi bir cihaz bağlamı CDC::BitBlt
kullanılarak kopyalanabilir. (İşlev, CDC::PatBlt
geçerli fırçanın bit eşlemini doğrudan görüntü cihazı bağlamlarına kopyalayabilir.)
parametresi tarafından BITMAP
lpBitmap
işaret edilen yapı işlevi kullanılarak GetObject
doldurulmuşsa bit eşlem bitleri belirtilmez ve bit eşlem başlatılmaz. Bir uygulama, bit eşlemi başlatmak için veya SetDIBits
gibi CDC::BitBlt
bir işlev kullanarak ilk parametresiyle CGdiObject::GetObject
tanımlanan bitleri bitleri tarafından CreateBitmapIndirect
oluşturulan bit eşlemine kopyalayabilir.
İşlevle oluşturulan nesneyle CBitmap
CreateBitmapIndirect
bitirdiğinizde, önce cihaz bağlamından bit eşlemi seçin, ardından nesneyi silin CBitmap
.
CBitmap::CreateCompatibleBitmap
tarafından pDC
belirtilen cihazla uyumlu bir bit eşlem başlatır.
BOOL CreateCompatibleBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Parametreler
pDC
Cihaz bağlamını belirtir.
nWidth
Bit eşlem genişliğini (piksel cinsinden) belirtir.
nHeight
Bit eşlem yüksekliğini (piksel cinsinden) belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bit eşlem, belirtilen cihaz bağlamı ile aynı sayıda renkli düzleme veya piksel başına bit biçimine sahiptir. tarafından pDC
belirtilen ile uyumlu herhangi bir bellek cihazı için geçerli bit eşlem olarak seçilebilir.
Bellek cihazı bağlamı ise pDC
, döndürülen bit eşlem, bu cihaz bağlamında seçili durumdaki bit eşlem ile aynı biçime sahiptir. "Bellek cihazı bağlamı", bir ekran yüzeyini temsil eden bir bellek bloğudur. Görüntüleri uyumlu cihazın gerçek ekran yüzeyine kopyalamadan önce bellekte hazırlamak için kullanılabilir.
Bir bellek cihazı bağlamı oluşturulduğunda, GDI bunun için otomatik olarak tek renkli bir stok bit eşlemi seçer.
Renkli bellek cihazı bağlamında renk veya tek renkli bit eşlemler seçilebileceği için, işlev tarafından CreateCompatibleBitmap
döndürülen bit eşlem biçimi her zaman aynı değildir; ancak, eşlenmemiş bir cihaz bağlamı için uyumlu bit eşlem biçimi her zaman cihazın biçimindedir.
İşlevle oluşturulan nesneyle CBitmap
CreateCompatibleBitmap
bitirdiğinizde, önce cihaz bağlamından bit eşlemi seçin, ardından nesneyi silin CBitmap
.
CBitmap::CreateDiscardableBitmap
tarafından pDC
tanımlanan cihaz bağlamıyla uyumlu atılabilir bir bit eşlem başlatır.
BOOL CreateDiscardableBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Parametreler
pDC
Cihaz bağlamı belirtir.
nWidth
Bit eşlem genişliğini (bit cinsinden) belirtir.
nHeight
Bit eşleminin yüksekliğini (bit cinsinden) belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bit eşlem, belirtilen cihaz bağlamı ile aynı sayıda renkli düzleme veya piksel başına bit biçimine sahiptir. Bir uygulama, tarafından pDC
belirtilenle uyumlu bir bellek cihazı için geçerli bit eşlem olarak bu bit eşlemi seçebilir.
Windows, bu işlev tarafından oluşturulan bit eşlemi yalnızca bir uygulama görüntüleme bağlamı olarak seçmediyse atabilir. Windows bit eşlemi seçili olmadığında atarsa ve uygulama daha sonra bu bit eşlemi seçmeye çalışırsa işlev CDC::SelectObject
NULL döndürür.
İşlevle oluşturulan nesneyle CBitmap
CreateDiscardableBitmap
bitirdiğinizde, önce cihaz bağlamından bit eşlemi seçin, ardından nesneyi silin CBitmap
.
CBitmap::FromHandle
Windows GDI bit eşlemine CBitmap
tanıtıcı verildiğinde nesneye bir işaretçi döndürür.
static CBitmap* PASCAL FromHandle(HBITMAP hBitmap);
Parametreler
hBitmap
Bir Windows GDI bit eşlem belirtir.
Dönüş Değeri
Başarılı olursa nesne CBitmap
işaretçisi; aksi takdirde NULL
.
Açıklamalar
Bir CBitmap
nesne tanıtıcıya zaten bağlı değilse, geçici CBitmap
bir nesne oluşturulur ve eklenir. Bu geçici CBitmap
nesne, yalnızca uygulamanın olay döngüsünde boşta kalma süresine sahip olduğu ve tüm geçici grafik nesnelerinin silindiği bir sonraki zamana kadar geçerlidir. Bunu söylemenin bir diğer yolu da geçici nesnenin yalnızca bir pencere iletisinin işlenmesi sırasında geçerli olmasıdır.
CBitmap::GetBitmap
Ekli bit eşlem için görüntü özelliklerini alır.
int GetBitmap(BITMAP* pBitMap);
Parametreler
pBitMap
Görüntü özelliklerini alacak bir BITMAP
yapı işaretçisi. Bu parametre olmamalıdır NULL
.
Dönüş Değeri
Yöntem başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
CBitmap::GetBitmapBits
Eklenen bit eşleminin bit desenini belirtilen arabelleğe kopyalar.
DWORD GetBitmapBits(
DWORD dwCount,
LPVOID lpBits) const;
Parametreler
dwCount
Arabelleğe kopyalanacak bayt sayısı.
lpBits
Bit eşlemi alacak arabelleğe işaretçi.
Dönüş Değeri
Yöntem başarılı olursa arabelleğe kopyalanan bayt sayısı; aksi takdirde 0.
Açıklamalar
Gerekli arabellek boyutunu belirlemek için kullanın CBitmap::GetBitmap
.
CBitmap::GetBitmapDimension
Bit eşlem genişliğini ve yüksekliğini döndürür.
CSize GetBitmapDimension() const;
Dönüş Değeri
Bit eşlem genişliği ve yüksekliği 0,1 milimetre cinsinden ölçülür. Yükseklik nesnenin cy
CSize
üyesinde ve genişlik de üyededir cx
. Bit eşlem genişliği ve yüksekliği kullanılarak SetBitmapDimension
ayarlanmamışsa, dönüş değeri 0'dır.
Açıklamalar
Yükseklik ve genişlik değerinin daha önce üye işlevi kullanılarak SetBitmapDimension
ayarlandığı varsayılır.
CBitmap::LoadBitmap
uygulamanın yürütülebilir dosyasındaki kimlik numarası tarafından lpszResourceName
adlandırılan veya kimlik numarasıyla nIDResource
tanımlanan bit eşlem kaynağını yükler.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Parametreler
lpszResourceName
Bit eşlem kaynağının adını içeren null olarak sonlandırılan bir dizeyi gösterir.
nIDResource
Bit eşlem kaynağının kaynak kimliği numarasını belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Yüklenen bit eşlem nesneye CBitmap
eklenir.
tarafından lpszResourceName
tanımlanan bit eşlem yoksa veya bit eşlemi yüklemek için yeterli bellek yoksa işlev 0 döndürür.
İşlev tarafından LoadBitmap
yüklenen bit eşlemi silmek için işlevini kullanabilirsinizCGdiObject::DeleteObject
, aksi takdirde CBitmap
yıkıcı nesneyi sizin için siler.
Dikkat
Nesneyi silmeden önce, bir cihaz bağlamında seçilmediğinden emin olun.
Windows 3.1 ve sonraki sürümlerine aşağıdaki bit eşlemler eklendi:
OBM_UPARRROWIOBM_DNARROWIOBM_RGARROWIOBM_LFARROWI
Bu bit eşlemler, Windows 3.0 ve önceki sürümlerin cihaz sürücülerinde bulunmaz. Bit eşlemlerin tam listesi ve görünümlerinin görüntülenmesi için bkz. Windows SDK'sı.
CBitmap::LoadMappedBitmap
Bit eşlem yüklemek ve renkleri geçerli sistem renklerine eşlemek için bu üye işlevini çağırın.
BOOL LoadMappedBitmap(
UINT nIDBitmap,
UINT nFlags = 0,
LPCOLORMAP lpColorMap = NULL,
int nMapSize = 0);
Parametreler
nIDBitmap
Bit eşlem kaynağının kimliği.
nFlags
Bit eşlem bayrağı. Sıfır veya CMB_MASKED
olabilir.
lpColorMap
Bit eşlemleri eşlemek için gereken renk bilgilerini içeren bir COLORMAP
yapı işaretçisi. Bu parametre ise NULL
, işlev varsayılan renk eşlemesini kullanır.
nMapSize
tarafından lpColorMap
işaret edilen renk eşlemelerinin sayısı.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan olarak, LoadMappedBitmap
düğme karakterlerinde yaygın olarak kullanılan renkleri eşler.
Eşlenmiş bit eşlem oluşturma hakkında bilgi için bkz. Windows işlevi CreateMappedBitmap
ve COLORMAP
Windows SDK'sı içindeki yapı.
CBitmap::LoadOEMBitmap
Windows tarafından kullanılan önceden tanımlanmış bir bit eşlem yükler.
BOOL LoadOEMBitmap(UINT nIDBitmap);
Parametreler
nIDBitmap
Önceden tanımlanmış Windows bit eşleminin kimlik numarası. Olası değerler aşağıda şunlardan WINDOWS.H
listelenmiştir:
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
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
ile başlayan bit eşlem OBM_OLD
adları, 3.0 öncesi Windows sürümleri tarafından kullanılan bit eşlemleri temsil eder.
Sabitlerden herhangi birini kullanabilmek için dahil WINDOWS.H
etmeden önce sabitin OEMRESOURCE
OBM_
tanımlanması gerektiğini unutmayın.
CBitmap::operator HBITMAP
Nesnenin ekli Windows GDI tutamacını CBitmap
almak için bu işleci kullanın.
operator HBITMAP() const;
Dönüş Değeri
Başarılı olursa, nesnesi tarafından temsil edilen Windows GDI nesnesine bir CBitmap
tanıtıcı; aksi takdirde NULL
.
Açıklamalar
Bu işleç, bir nesnenin doğrudan kullanımını destekleyen bir HBITMAP
atama işlecidir.
Grafik nesnelerini kullanma hakkında daha fazla bilgi için bkz . Windows SDK'sında Grafik Nesneleri .
CBitmap::SetBitmapBits
Bit eşlem bitlerini tarafından lpBits
verilen bit değerlerine ayarlar.
DWORD SetBitmapBits(
DWORD dwCount,
const void* lpBits);
Parametreler
dwCount
tarafından lpBits
işaret edilen bayt sayısını belirtir.
lpBits
Nesneye BYTE
kopyalanacak piksel değerlerini içeren diziyi CBitmap
gösterir. Bit eşleminin görüntüsünü doğru işleyebilmesi için, değerler örnek oluşturulduğunda belirtilen yükseklik, genişlik ve renk derinliği değerlerine CBitmap
uyacak şekilde biçimlendirilmelidir. Daha fazla bilgi için bkz. CBitmap::CreateBitmap
.
Dönüş Değeri
Bit eşlem bitlerini ayarlarken kullanılan bayt sayısı; İşlev başarısız olursa 0.
CBitmap::SetBitmapDimension
Bit eşlem için 0,1 milimetre birim cinsinden genişlik ve yükseklik atar.
CSize SetBitmapDimension(
int nWidth,
int nHeight);
Parametreler
nWidth
Bit eşlem genişliğini belirtir (0,1 milimetre cinsinden).
nHeight
Bit eşlem yüksekliğini belirtir (0,1 milimetre cinsinden).
Dönüş Değeri
Önceki bit eşlem boyutları. Height, nesnesinin cy
üye değişkeninde CSize
, width ise üye değişkenindedir cx
.
Açıklamalar
GDI, bir uygulama üye işlevini çağırdığında GetBitmapDimension
bunları döndürmek dışında bu değerleri kullanmaz.