Megosztás a következőn keresztül:


CBitmap osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Beágyazza a Windows grafikus eszköz felületének (GDI) bitképét, és tagfüggvényeket biztosít a bitkép kezeléséhez.

Szemantika

class CBitmap : public CGdiObject

Tagok

Nyilvános konstruktorok

Név Description
CBitmap::CBitmap Egy CBitmap objektumot hoz létre.

Nyilvános metódusok

Név Description
CBitmap::CreateBitmap Inicializálja az objektumot egy eszköztől függő memória bitképével, amelynek szélessége, magassága és bitmintája meghatározott.
CBitmap::CreateBitmapIndirect Inicializálja az objektumot egy szerkezetben BITMAP megadott szélességű, magasságú és bitmintás bitképpel (ha van megadva).
CBitmap::CreateCompatibleBitmap Bitképpel inicializálja az objektumot, hogy kompatibilis legyen egy adott eszközzel.
CBitmap::CreateDiscardableBitmap Inicializálja az objektumot egy adott eszközzel kompatibilis, eldobható bitképpel.
CBitmap::FromHandle Mutatót ad vissza egy CBitmap objektumhoz, ha egy fogópontot ad egy Windows-bitképnek HBITMAP .
CBitmap::GetBitmap Kitölt egy struktúrát BITMAP a bitképre vonatkozó információkkal.
CBitmap::GetBitmapBits A megadott bitkép bitjeinek másolása a megadott pufferbe.
CBitmap::GetBitmapDimension A bitkép szélességét és magasságát adja vissza. A magasságot és a szélességet a tagfüggvény korábban SetBitmapDimension állította be.
CBitmap::LoadBitmap Inicializálja az objektumot úgy, hogy betölt egy elnevezett bitkép-erőforrást az alkalmazás végrehajtható fájljából, és csatolja a bitképet az objektumhoz.
CBitmap::LoadMappedBitmap Betölt egy bitképet, és az aktuális rendszerszínekhez rendeli a színeket.
CBitmap::LoadOEMBitmap Inicializálja az objektumot egy előre definiált Windows-bitkép betöltésével és a bitkép objektumhoz való csatolásával.
CBitmap::SetBitmapBits A bitkép bitjeinek beállítása a megadott bitértékekre.
CBitmap::SetBitmapDimension Szélességet és magasságot rendel egy bitképhez 0,1 milliméteres egységekben.

Nyilvános operátorok

Név Description
CBitmap::operator HBITMAP Az objektumhoz csatolt Windows-leírót CBitmap adja vissza.

Megjegyzések

Objektum használatához CBitmap hozza létre az objektumot, csatoljon hozzá egy bitképfogópontot az inicializálási tagfüggvények egyikével, majd hívja meg az objektum tagfüggvényeit.

További információ az olyan grafikus objektumok használatáról, mint a CBitmapGrafikus objektumok.

Öröklési hierarchia

CObject

CGdiObject

CBitmap

Requirements

Fejléc:afxwin.h

CBitmap::CBitmap

Egy CBitmap objektumot hoz létre.

CBitmap();

Megjegyzések

Az eredményként kapott objektumot inicializálni kell az inicializálás egyik tagfüggvényével.

CBitmap::CreateBitmap

Inicializál egy eszköztől függő memóriabitképet, amely a megadott szélességű, magasságú és bitmintás.

BOOL CreateBitmap(
    int nWidth,
    int nHeight,
    UINT nPlanes,
    UINT nBitcount,
    const void* lpBits);

Paraméterek

nWidth
Megadja a bitkép szélességét (képpontban).

nHeight
Megadja a bitkép magasságát (képpontban).

nPlanes
A bitkép színsíkjainak számát adja meg.

nBitcount
A megjelenítési képpontonkénti színbitek számát adja meg.

lpBits
A kezdeti bitképbitértékeket tartalmazó bájttömbre mutat. Ha igen NULL, az új bitkép nem lesz inicializálva.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Színbitkép esetén a paramétert vagy nBitcount a nPlanes paramétert 1 értékre kell állítani. Ha mindkét paraméter értéke 1, CreateBitmap akkor létrehoz egy monokróm bitképet.

Bár a bitkép nem jelölhető ki közvetlenül egy megjelenítési eszközhöz, a függvény használatával CDC::SelectObjectCDC::BitBlt kiválasztható a "memóriaeszköz-környezet" aktuális bitképeként, és bármely kompatibilis eszközkörnyezetbe másolható.

Amikor befejezi a CBitmap függvény által CreateBitmap létrehozott objektumot, először jelölje ki a bitképet az eszközkörnyezetből, majd törölje az CBitmap objektumot.

További információkért tekintse meg a bmBits struktúra mezőjének BITMAP leírását. A BITMAP struktúrát a CBitmap::CreateBitmapIndirect tagfüggvény ismerteti.

CBitmap::CreateBitmapIndirect

Inicializál egy bittérképet, amelynek szélessége, magassága és bitmintája (ha van megadva) a hivatkozott lpBitmapstruktúrában megadott.

BOOL CreateBitmapIndirect(LPBITMAP lpBitmap);

Paraméterek

lpBitmap
Egy olyan struktúrára BITMAP mutat, amely információkat tartalmaz a bitképről.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Bár a bitképek nem jelölhetők ki közvetlenül egy megjelenítési eszközhöz, a memóriaeszköz-környezet CDC::SelectObject aktuális bitképeként is kijelölhető, ha a függvény vagy CDC::StretchBlt a függvény használatával bármilyen kompatibilis eszközkörnyezetbe átmásolja őketCDC::BitBlt. (A CDC::PatBlt függvény közvetlenül a megjelenítési eszköz környezetére másolhatja az aktuális ecset bitképét.)

Ha a BITMAP paraméter által lpBitmap mutatott struktúra a függvény használatával GetObject lett kitöltve, a bitkép bitjei nincsenek megadva, és a bitkép nem inicializálódik. A bitkép inicializálásához az alkalmazások használhatnak olyan függvényt, mint a CDC::BitBlt bitképek másolása vagy SetDIBits másolása CGdiObject::GetObject az első paraméter által azonosított bittérképről a létrehozott CreateBitmapIndirectbitképre.

Amikor befejezi a CBitmap függvényrel CreateBitmapIndirect létrehozott objektumot, először jelölje ki a bitképet az eszközkörnyezetből, majd törölje az CBitmap objektumot.

CBitmap::CreateCompatibleBitmap

Inicializál egy bitképet, amely kompatibilis a megadott pDCeszközzel.

BOOL CreateCompatibleBitmap(
    CDC* pDC,
    int nWidth,
    int nHeight);

Paraméterek

pDC
Megadja az eszközkörnyezetet.

nWidth
Megadja a bitkép szélességét (képpontban).

nHeight
Megadja a bitkép magasságát (képpontban).

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A bitképen a színsíkok száma vagy a képpontonkénti bitformátum megegyezik a megadott eszközkörnyezettel. Bármely olyan memóriaeszköz aktuális bitképeként jelölhető ki, amely kompatibilis a megadottal pDC.

Ha pDC memóriaeszköz-környezetről van szó, a visszaadott bitkép formátuma megegyezik az adott eszközkörnyezetben jelenleg kijelölt bitkép formátumával. A "memóriaeszköz-környezet" egy memóriablokk, amely egy megjelenítési felületet jelöl. A rendszerképek memóriában való előkészítésére használható, mielőtt a kompatibilis eszköz tényleges megjelenítési felületére másolja őket.

Memóriaeszköz-környezet létrehozásakor a GDI automatikusan kiválaszt egy monokróm részvénybitképet.

Mivel a színmemória-eszközkörnyezetek szín- vagy monokróm bitképeket is kijelölhetnek, a CreateCompatibleBitmap függvény által visszaadott bitkép formátuma nem mindig egyezik meg; a kompatibilis bitképek formátuma azonban mindig az eszköz formátumában van.

Amikor befejezi a CBitmap függvénnyel CreateCompatibleBitmap létrehozott objektumot, először jelölje ki a bitképet az eszközkörnyezetből, majd törölje az CBitmap objektumot.

CBitmap::CreateDiscardableBitmap

Inicializál egy elvethető bitképet, amely kompatibilis az eszköz által azonosított pDCkörnyezettel.

BOOL CreateDiscardableBitmap(
    CDC* pDC,
    int nWidth,
    int nHeight);

Paraméterek

pDC
Eszközkörnyezetet határoz meg.

nWidth
Megadja a bitkép szélességét (bitekben).

nHeight
Megadja a bitkép magasságát (bitekben).

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A bitképen a színsíkok száma vagy a képpontonkénti bitformátum megegyezik a megadott eszközkörnyezettel. Az alkalmazások kiválaszthatják ezt a bitképet a memóriaeszköz aktuális bitképeként, amely kompatibilis a megadottal pDC.

A Windows csak akkor tudja elvetni a függvény által létrehozott bitképet, ha egy alkalmazás nem jelölte ki azt egy megjelenítési környezetbe. Ha a Windows elveti a bitképet, ha nincs kijelölve, és az alkalmazás később megpróbálja kijelölni, a CDC::SelectObject függvény NULL értéket ad vissza.

Amikor befejezi a CBitmap függvénnyel CreateDiscardableBitmap létrehozott objektumot, először jelölje ki a bitképet az eszközkörnyezetből, majd törölje az CBitmap objektumot.

CBitmap::FromHandle

Egy objektumra CBitmap mutató mutatót ad vissza, ha egy Windows GDI-bitképhez kapott fogópontot.

static CBitmap* PASCAL FromHandle(HBITMAP hBitmap);

Paraméterek

hBitmap
Egy Windows GDI-bitképet ad meg.

Visszaadott érték

Az objektumra mutató CBitmap mutató, ha sikeres; ellenkező esetben NULL.

Megjegyzések

Ha egy CBitmap objektum még nincs csatolva a leíróhoz, egy ideiglenes CBitmap objektum jön létre és csatolva. Ez az ideiglenes CBitmap objektum csak addig érvényes, amíg az alkalmazás következő alkalommal nem rendelkezik tétlenségi idővel az eseményhurkában, és ekkor az összes ideiglenes grafikus objektum törlődik. Ennek másik módja, hogy az ideiglenes objektum csak egy ablaküzenet feldolgozása során érvényes.

CBitmap::GetBitmap

A csatolt bitkép képtulajdonságait kéri le.

int GetBitmap(BITMAP* pBitMap);

Paraméterek

pBitMap
Mutasson egy BITMAP olyan struktúrára, amely megkapja a kép tulajdonságait. Ez a paraméter nem lehet NULL.

Visszaadott érték

Nonzero, ha a módszer sikeres volt; egyéb esetben 0.

Megjegyzések

CBitmap::GetBitmapBits

Másolja a csatolt bitkép bitmintáját a megadott pufferbe.

DWORD GetBitmapBits(
    DWORD dwCount,
    LPVOID lpBits) const;

Paraméterek

dwCount
A pufferbe másolandó bájtok száma.

lpBits
Mutasson arra a pufferre, amely megkapja a bitképet.

Visszaadott érték

A pufferbe másolt bájtok száma, ha a metódus sikeres volt; egyéb esetben 0.

Megjegyzések

A szükséges pufferméret meghatározására használható CBitmap::GetBitmap .

CBitmap::GetBitmapDimension

A bitkép szélességét és magasságát adja vissza.

CSize GetBitmapDimension() const;

Visszaadott érték

A bitkép szélessége és magassága, 0,1 milliméteres egységekben mérve. A magasság az cy objektum tagjában CSize van, a szélesség pedig a cx tagban van. Ha a bitkép szélessége és magassága nincs beállítva a használatával SetBitmapDimension, a visszatérési érték 0.

Megjegyzések

A tagfüggvény használatával feltételezzük, hogy a magasság és a SetBitmapDimension szélesség korábban lett beállítva.

CBitmap::LoadBitmap

Betölti az alkalmazás végrehajtható fájljából az azonosítószám nIDResource által lpszResourceName megnevezett vagy azonosított bitkép-erőforrást.

BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);

Paraméterek

lpszResourceName
A bitkép-erőforrás nevét tartalmazó null értékű sztringre mutat.

nIDResource
A bitkép típusú erőforrás erőforrás-azonosítóját adja meg.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A betöltött bitkép az objektumhoz CBitmap van csatolva.

Ha az azonosított lpszResourceName bitkép nem létezik, vagy nincs elegendő memória a bitkép betöltéséhez, a függvény 0 értéket ad vissza.

A függvény használatával törölheti a CGdiObject::DeleteObject függvény által LoadBitmap betöltött bitképet, vagy a CBitmap destruktor törli az objektumot.

Caution

Az objektum törlése előtt győződjön meg arról, hogy nincs kiválasztva eszközkörnyezetben.

A következő bitképek lettek hozzáadva a Windows 3.1 és újabb verzióihoz:

OBM_UPARRROWIOBM_DNARROWIOBM_RGARROWIOBM_LFARROWI

Ezek a bitképek nem találhatók a Windows 3.0-s és korábbi verzióihoz készült eszközillesztőkben. A bitképek teljes listájáért és megjelenésük megjelenítéséért tekintse meg a Windows SDK-t.

CBitmap::LoadMappedBitmap

A tagfüggvény meghívásával betölthet egy bitképet, és megfeleltethet a színeknek az aktuális rendszerszínek szerint.

BOOL LoadMappedBitmap(
    UINT nIDBitmap,
    UINT nFlags = 0,
    LPCOLORMAP lpColorMap = NULL,
    int nMapSize = 0);

Paraméterek

nIDBitmap
A bitkép-erőforrás azonosítója.

nFlags
Egy bitkép jelölője. Lehet nulla vagy CMB_MASKED.

lpColorMap
A bitképek leképezéséhez szükséges színinformációkat tartalmazó struktúra mutatója COLORMAP . Ha ez a paraméter, NULLa függvény az alapértelmezett színtérképet használja.

nMapSize
A színtérképek száma, amelyek a következő szerint mutatnak lpColorMap: .

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Alapértelmezés szerint LoadMappedBitmap a gombjelekben gyakran használt színeket fogja megfeleltetni.

A leképezett bitképek létrehozásával kapcsolatos információkért tekintse meg a Windows függvényt CreateMappedBitmap és a COLORMAP Windows SDK struktúráját.

CBitmap::LoadOEMBitmap

Betölti a Windows által használt előre definiált bitképet.

BOOL LoadOEMBitmap(UINT nIDBitmap);

Paraméterek

nIDBitmap
Az előre definiált Windows-bitkép azonosítószáma. A lehetséges értékek az alábbiakban WINDOWS.Hláthatók:

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

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A 3.0-s verzió előtti Windows-verziók által használt bitképképekkel OBM_OLD kezdődő bitképek nevei.

Vegye figyelembe, hogy az állandót OEMRESOURCE meg kell határozni, mielőtt beleszámítva WINDOWS.H bármelyik állandót használná OBM_ .

CBitmap::operator HBITMAP

Ezzel az operátorral lekérheti az objektum csatolt Windows GDI-leíróját CBitmap .

operator HBITMAP() const;

Visszaadott érték

Ha sikeres, az objektum által CBitmap képviselt Windows GDI-objektum leírója; ellenkező esetben NULL.

Megjegyzések

Ez az operátor egy öntvény operátor, amely támogatja az HBITMAP objektumok közvetlen használatát.

További információ a grafikus objektumok használatáról: Grafikus objektumok a Windows SDK-ban.

CBitmap::SetBitmapBits

A bitkép bitjeinek beállítása a megadott bitértékekre lpBits.

DWORD SetBitmapBits(
    DWORD dwCount,
    const void* lpBits);

Paraméterek

dwCount
A megadott lpBitsbájtok számát adja meg.

lpBits
BYTE Az objektumba másolandó képpontértékeket tartalmazó tömbre CBitmap mutat. Ahhoz, hogy a bitkép megfelelően tudja megjeleníteni a képet, az értékeket úgy kell formázni, hogy megfeleljenek a példány létrehozásakor CBitmap megadott magassági, szélességi és színmélység-értékeknek. További információért lásd CBitmap::CreateBitmap.

Visszaadott érték

A bitképbitek beállításához használt bájtok száma; 0, ha a függvény meghibásodik.

CBitmap::SetBitmapDimension

Szélességet és magasságot rendel egy bitképhez 0,1 milliméteres egységekben.

CSize SetBitmapDimension(
    int nWidth,
    int nHeight);

Paraméterek

nWidth
Megadja a bitkép szélességét (0,1 milliméteres egységekben).

nHeight
Megadja a bitkép magasságát (0,1 milliméteres egységekben).

Visszaadott érték

Az előző bitképdimenziók. A magasság az cy objektum tagváltozójában, a CSize szélesség pedig a cx tagváltozóban van.

Megjegyzések

A GDI csak akkor használja ezeket az értékeket, ha egy alkalmazás meghívja a tagfüggvényt GetBitmapDimension .

Lásd még

MFC-minta MDI
CGdiObject osztály
hierarchiadiagram