Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
CImage biedt verbeterde bitmapondersteuning, waaronder de mogelijkheid om afbeeldingen te laden en op te slaan in JPEG-, GIF-, BMP- en PNG-indelingen (Portable Network Graphics).
Important
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntax
class CImage
Members
Public Constructors
| Name | Description |
|---|---|
CImage::CImage |
The constructor. |
Public Methods
| Name | Description |
|---|---|
CImage::AlphaBlend |
Hiermee geeft u bitmaps weer met transparante of semitransparante pixels. |
CImage::Attach |
HBITMAP Een aan een CImage object koppelen. Kan worden gebruikt met niet-DIB-sectie bitmaps of DIB-sectie bitmaps. |
CImage::BitBlt |
Hiermee kopieert u een bitmap van de bronapparaatcontext naar deze huidige apparaatcontext. |
CImage::Create |
Hiermee maakt u een DIB-sectie bitmap en koppelt u deze aan het eerder gemaakte CImage object. |
CImage::CreateEx |
Hiermee maakt u een DIB-sectie bitmap (met extra parameters) en koppelt u deze aan het eerder samengestelde CImage object. |
CImage::Destroy |
Loskoppelt de bitmap van het CImage object en vernietigt de bitmap. |
CImage::Detach |
De bitmap loskoppelen van een CImage object. |
CImage::Draw |
Kopieert een bitmap van een bronrechthoek naar een doelrechthoek.
Draw rekt de bitmap uit of comprimeert de afmetingen van de doelrechthoek, indien nodig, en verwerkt alfamixing en transparante kleuren. |
CImage::GetBits |
Hiermee wordt een aanwijzer opgehaald naar de werkelijke pixelwaarden van de bitmap. |
CImage::GetBPP |
Haalt de bits per pixel op. |
CImage::GetColorTable |
Haalt rode, groene, blauwe kleurwaarden (RGB) op uit een bereik met vermeldingen in de kleurentabel. |
CImage::GetDC |
Hiermee haalt u de apparaatcontext op waarin de huidige bitmap is geselecteerd. |
CImage::GetExporterFilterString |
Hiermee vindt u de beschikbare afbeeldingsindelingen en de bijbehorende beschrijvingen. |
CImage::GetHeight |
Haalt de hoogte van de huidige afbeelding op in pixels. |
CImage::GetImporterFilterString |
Hiermee vindt u de beschikbare afbeeldingsindelingen en de bijbehorende beschrijvingen. |
CImage::GetMaxColorTableEntries |
Hiermee haalt u het maximum aantal vermeldingen in de kleurentabel op. |
CImage::GetPitch |
Haalt de pitch van de huidige afbeelding op, in bytes. |
CImage::GetPixel |
Haalt de kleur van de pixel op die is opgegeven door x en y. |
CImage::GetPixelAddress |
Haalt het adres van een bepaalde pixel op. |
CImage::GetTransparentColor |
Hiermee haalt u de positie van de transparante kleur in de kleurentabel op. |
CImage::GetWidth |
Hiermee wordt de breedte van de huidige afbeelding in pixels opgehaald. |
CImage::IsDIBSection |
Bepaalt of de gekoppelde bitmap een DIB-sectie is. |
CImage::IsIndexed |
Geeft aan dat de kleuren van een bitmap zijn toegewezen aan een geïndexeerd palet. |
CImage::IsNull |
Geeft aan of er momenteel een bron bitmap is geladen. |
CImage::IsTransparencySupported |
Geeft aan of de toepassing transparante bitmaps ondersteunt. |
CImage::Load |
Laadt een afbeelding uit het opgegeven bestand. |
CImage::LoadFromResource |
Laadt een installatiekopieën van de opgegeven resource. |
CImage::MaskBlt |
Combineert de kleurgegevens voor de bron- en doel bitmaps met behulp van het opgegeven masker en raster. |
CImage::PlgBlt |
Voert een bitblokkeringsoverdracht uit vanuit een rechthoek in een bronapparaatcontext naar een parallelogram in een doelapparaatcontext. |
CImage::ReleaseDC |
Hiermee wordt de apparaatcontext vrijgegeven waarmee is opgehaald CImage::GetDC. |
CImage::ReleaseGDIPlus |
Releases resources die worden gebruikt door GDI+. Moet worden aangeroepen naar gratis resources die zijn gemaakt door een globaal CImage object. |
CImage::Save |
Slaat een afbeelding op als het opgegeven type.
Save kan geen afbeeldingsopties opgeven. |
CImage::SetColorTable |
Stelt rode, groene, blauwe RGB)-kleurwaarden in een bereik met vermeldingen in de kleurentabel van de DIB-sectie in. |
CImage::SetPixel |
Hiermee stelt u de pixel op de opgegeven coördinaten in op de opgegeven kleur. |
CImage::SetPixelIndexed |
Hiermee stelt u de pixel op de opgegeven coördinaten in op de kleur op de opgegeven index van het palet. |
CImage::SetPixelRGB |
Hiermee stelt u de pixel op de opgegeven coördinaten in op de opgegeven rode, groene, blauwe (RGB)-waarde. |
CImage::SetTransparentColor |
Hiermee stelt u de index van de kleur in die als transparant moet worden behandeld. Slechts één kleur in een palet kan transparant zijn. |
CImage::StretchBlt |
Kopieert een bitmap van een bronrechthoek naar een doelrechthoek, waarbij de bitmap zo nodig wordt uitgerekt of gecomprimeerd om de afmetingen van de doelrechthoek aan te passen. |
CImage::TransparentBlt |
Hiermee kopieert u een bitmap met transparante kleur van de context van het bronapparaat naar deze huidige apparaatcontext. |
Public Operators
| Name | Description |
|---|---|
CImage::operator HBITMAP |
Retourneert de Windows-ingang die aan het CImage object is gekoppeld. |
Remarks
CImageaccepteert bitmaps die een dib-sectie (apparaatonafhankelijke bitmap) zijn of niet; U kunt echter wel of CImage::Load alleen dib-secties gebruikenCreate. U kunt een niet-DIB-sectie bitmap koppelen aan een CImage object met behulp van Attach, maar u kunt niet de volgende CImage methoden gebruiken, die alleen DIB-sectie bitmaps ondersteunen:
Als u wilt bepalen of een gekoppelde bitmap een DIB-sectie is, roept u aan IsDibSection.
Note
In Visual Studio .NET 2003 houdt deze klasse het aantal CImage gemaakte objecten bij. Wanneer het aantal naar 0 gaat, wordt de functie GdiplusShutdown automatisch aangeroepen om resources vrij te geven die worden gebruikt door GDI+. Dit zorgt ervoor dat alle CImage objecten die rechtstreeks of indirect door DLL's worden gemaakt, altijd correct worden vernietigd en dat GdiplusShutdown niet wordt aangeroepen.DllMain
Note
Het gebruik van globale CImage objecten in een DLL wordt niet aanbevolen. Als u een globaal CImage object in een DLL wilt gebruiken, roept CImage::ReleaseGDIPlus u aan om expliciet resources vrij te geven die worden gebruikt door GDI+.
CImage kan niet worden geselecteerd in een nieuwe CDC.
CImage maakt een eigen HDC voor de installatiekopieën. Omdat een HBITMAP kan slechts één voor één worden geselecteerd HDC , kan de HBITMAP gekoppelde aan de CImage groep niet in een andere HDCworden geselecteerd. Als u een CDC, haal de van de HDCCImage en geef het aan CDC::FromHandle.
Examples
// Get a CDC for the image
CDC* pDC = CDC::FromHandle(m_myImage.GetDC());
// Use pDC here
pDC->Rectangle(0, 40, 100, 50);
m_myImage.ReleaseDC();
Wanneer u in een MFC-project gebruikt CImage , moet u zien welke lidfuncties in uw project een aanwijzer naar een CBitmap object verwachten. Als u wilt gebruiken CImage met een dergelijke functie, zoals CMenu::AppendMenu, gebruik CBitmap::FromHandle, geef het uw CImageHBITMAPdoor en gebruik de geretourneerde CBitmap*.
void CMyDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
CBitmap* pBitmap = CBitmap::FromHandle(m_myImage);
m_pmenuPop->AppendMenu(0, ID_BMPCOMMAND, pBitmap);
ClientToScreen(&point);
m_pmenuPop->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x,
point.y, this);
}
Via CImagehebt u toegang tot de werkelijke bits van een DIB-sectie. U kunt een CImage object gebruiken waar u eerder een Win32 HBITMAP - of DIB-sectie hebt gebruikt.
U kunt CImage gebruikmaken van MFC of ATL.
Note
Wanneer u een project maakt met behulp van CImage, moet u definiëren CString voordat u het opneemt atlimage.h. Als uw project ATL zonder MFC gebruikt, neemt u deze op atlstr.h voordat u het opneemt atlimage.h. Als uw project gebruikmaakt van MFC (of als het een ATL-project met MFC-ondersteuning is), neemt u dit op afxstr.h voordat u het opneemt atlimage.h.
Op dezelfde manier moet u opnemen atlimage.h voordat u het opneemt atlimpl.cpp. U kunt dit eenvoudig doen door uw pch.h (stdafx.hin Visual Studio 2017 en eerder) op te nemenatlimage.h.
Requirements
Header:atlimage.h
CImage::AlphaBlend
Hiermee geeft u bitmaps weer met transparante of semitransparante pixels.
BOOL AlphaBlend(
HDC hDestDC,
int xDest,
int yDest,
BYTE bSrcAlpha = 0xff,
BYTE bBlendOp = AC_SRC_OVER) const throw();
BOOL AlphaBlend(
HDC hDestDC,
const POINT& pointDest,
BYTE bSrcAlpha = 0xff,
BYTE bBlendOp = AC_SRC_OVER) const throw();
BOOL AlphaBlend(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
BYTE bSrcAlpha = 0xff,
BYTE bBlendOp = AC_SRC_OVER);
BOOL AlphaBlend(
HDC hDestDC,
const RECT& rectDest,
const RECT& rectSrc,
BYTE bSrcAlpha = 0xff,
BYTE bBlendOp = AC_SRC_OVER);
Parameters
hDestDC
Verwerken naar de context van het doelapparaat.
xDest
De x-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
yDest
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
bSrcAlpha
Een alfatransparantiewaarde die moet worden gebruikt voor de gehele bron bitmap. Bij de standaard 0xff (255) wordt ervan uitgegaan dat uw afbeelding ondoorzichtig is en dat u alleen alfawaarden per pixel wilt gebruiken.
bBlendOp
De alfamixfunctie voor bron- en doel bitmaps, een globale alfawaarde die moet worden toegepast op de hele bron bitmap en opmaakinformatie voor de bron bitmap. De bron- en doelmixfuncties zijn momenteel beperkt tot AC_SRC_OVER.
pointDest
Een verwijzing naar een POINT structuur die de linkerbovenhoek van de doelrechthoek identificeert, in logische eenheden.
nDestWidth
De breedte, in logische eenheden, van de doelrechthoek.
nDestHeight
De hoogte, in logische eenheden, van de doelrechthoek.
xSrc
De logische x-coördinaat van de linkerbovenhoek van de bronrechthoek.
ySrc
De logische y-coördinaat van de linkerbovenhoek van de bronrechthoek.
nSrcWidth
De breedte, in logische eenheden, van de bronrechthoek.
nSrcHeight
De hoogte, in logische eenheden, van de bronrechthoek.
rectDest
Een verwijzing naar een RECT structuur, waarmee de bestemming wordt geïdentificeerd.
rectSrc
Een verwijzing naar een RECT structuur, waarmee de bron wordt geïdentificeerd.
Return Value
Niet-nul indien geslaagd; anders 0.
Remarks
Alpha-blend bitmaps ondersteunen kleurmenging per pixel.
Wanneer bBlendOp deze is ingesteld op de standaardwaarde AC_SRC_OVER, wordt de bron bitmap op de doel bitmap geplaatst op basis van de alfawaarden van de bron pixels.
CImage::Attach
hBitmap Wordt gekoppeld aan een CImage object.
void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();
Parameters
hBitmap
Een handgreep naar een HBITMAP.
eOrientation
Hiermee geeft u de afdrukstand van de bitmap. Dit kan een van de volgende zijn:
DIBOR_DEFAULTDe afdrukstand van de bitmap wordt bepaald door het besturingssysteem.DIBOR_BOTTOMUPDe lijnen van de bitmap staan in omgekeerde volgorde. Dit zorgt ervoorCImage::GetBitsdat een aanwijzer aan het einde van de bitmapbuffer wordt geretourneerd enCImage::GetPitcheen negatief getal wordt geretourneerd.DIBOR_TOPDOWNDe lijnen van de bitmap bevinden zich in de volgorde van boven naar beneden.CImage::GetBitsHierdoor wordt een aanwijzer geretourneerd naar de eerste byte van de bitmapbuffer enCImage::GetPitchwordt een positief getal geretourneerd.
Remarks
De bitmap kan een niet-DIB-sectie bitmap of een DIB-sectie bitmap zijn. Zie IsDIBSection voor een lijst met methoden die u alleen kunt gebruiken met DIB-sectie bitmaps.
CImage::BitBlt
Hiermee kopieert u een bitmap van de bronapparaatcontext naar deze huidige apparaatcontext.
BOOL BitBlt(
HDC hDestDC,
int xDest,
int yDest,
DWORD dwROP = SRCCOPY) const throw();
BOOL BitBlt(
HDC hDestDC,
const POINT& pointDest,
DWORD dwROP = SRCCOPY) const throw();
BOOL BitBlt(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
int xSrc,
int ySrc,
DWORD dwROP = SRCCOPY) const throw();
BOOL BitBlt(
HDC hDestDC,
const RECT& rectDest,
const POINT& pointSrc,
DWORD dwROP = SRCCOPY) const throw();
Parameters
hDestDC
De bestemming HDC.
xDest
De logische x-coördinaat van de linkerbovenhoek van de doelrechthoek.
yDest
De logische y-coördinaat van de linkerbovenhoek van de doelrechthoek.
dwROP
De rasterbewerking die moet worden uitgevoerd. Rasterbewerkingscodes definiëren precies hoe de bits van de bron, het doel en het patroon (zoals gedefinieerd door de geselecteerde kwast) moeten worden gecombineerd om de bestemming te vormen. Zie BitBlt in de Windows SDK voor een lijst met andere rasterbewerkingscodes en de bijbehorende beschrijvingen.
pointDest
Een POINT structuur die de linkerbovenhoek van de doelrechthoek aangeeft.
nDestWidth
De breedte, in logische eenheden, van de doelrechthoek.
nDestHeight
De hoogte, in logische eenheden, van de doelrechthoek.
xSrc
De logische x-coördinaat van de linkerbovenhoek van de bronrechthoek.
ySrc
De logische y-coördinaat van de linkerbovenhoek van de bronrechthoek.
rectDest
Een RECT structuur die de doelrechthoek aangeeft.
pointSrc
Een POINT structuur die de linkerbovenhoek van de bronrechthoek aangeeft.
Return Value
Niet-nul indien geslaagd; anders nul.
Remarks
Zie de Windows SDK voor meer informatie BitBlt .
CImage::CImage
Maakt een CImage-object.
CImage() throw();
Remarks
Nadat u het object hebt gemaakt, roept Createu LoadFromResourcehet Loadaan of Attach koppelt u een bitmap aan het object.
Notitie In Visual Studio houdt deze klasse het aantal CImage gemaakte objecten bij. Wanneer het aantal naar 0 gaat, wordt de functie GdiplusShutdown automatisch aangeroepen om resources vrij te geven die worden gebruikt door GDI+. Dit zorgt ervoor dat alle CImage objecten die rechtstreeks of indirect door DLL's worden gemaakt, altijd correct worden vernietigd en dat GdiplusShutdown niet wordt aangeroepen vanuit DllMain.
Het gebruik van globale CImage objecten in een DLL wordt niet aanbevolen. Als u een globaal CImage object in een DLL wilt gebruiken, roept CImage::ReleaseGDIPlus u aan om expliciet resources vrij te geven die worden gebruikt door GDI+.
CImage::Create
Hiermee maakt u een CImage bitmap en koppelt u deze aan het eerder gemaakte CImage object.
BOOL Create(
int nWidth,
int nHeight,
int nBPP,
DWORD dwFlags = 0) throw();
Parameters
nWidth
De breedte van de CImage bitmap, in pixels.
nHeight
De hoogte van de CImage bitmap, in pixels. Als nHeight dit positief is, is de bitmap een onderste dib en de oorsprong ervan is de linkerbenedenhoek. Als nHeight dit negatief is, is de bitmap een dib van boven naar beneden en de oorsprong ervan is de linkerbovenhoek.
nBPP
Het aantal bits per pixel in de bitmap. Meestal 4, 8, 16, 24 of 32. Kan 1 zijn voor monochrome bitmaps of maskers.
dwFlags
Hiermee geeft u op of het bitmapobject een alfakanaal heeft. Dit kan een combinatie zijn van nul of meer van de volgende waarden:
-
createAlphaChannelKan alleen worden gebruikt alsnBPPhet 32 is eneCompressionisBI_RGB. Indien opgegeven, heeft de gemaakte afbeelding een alfawaarde (transparantie) voor elke pixel, opgeslagen in de 4e byte van elke pixel (ongebruikt in een niet-alfa 32-bits afbeelding). Dit alfakanaal wordt automatisch gebruikt bij het aanroepenCImage::AlphaBlend.
Note
In aanroepen naar CImage::Draw, worden afbeeldingen met een alfakanaal automatisch alfa gemengd met de bestemming.
Return Value
Niet-nul indien geslaagd; anders 0.
CImage::CreateEx
Hiermee maakt u een CImage bitmap en koppelt u deze aan het eerder gemaakte CImage object.
BOOL CreateEx(
int nWidth,
int nHeight,
int nBPP,
DWORD eCompression,
const DWORD* pdwBitmasks = NULL,
DWORD dwFlags = 0) throw();
Parameters
nWidth
De breedte van de CImage bitmap, in pixels.
nHeight
De hoogte van de CImage bitmap, in pixels. Als nHeight dit positief is, is de bitmap een onderste dib en de oorsprong ervan is de linkerbenedenhoek. Als nHeight dit negatief is, is de bitmap een dib van boven naar beneden en de oorsprong ervan is de linkerbovenhoek.
nBPP
Het aantal bits per pixel in de bitmap. Meestal 4, 8, 16, 24 of 32. Kan 1 zijn voor monochrome bitmaps of maskers.
eCompression
Hiermee geeft u het type compressie voor een gecomprimeerde bottom-up bitmap (top-down DIBs kunnen niet worden gecomprimeerd). Dit kan een van de volgende waarden zijn:
BI_RGBDe indeling is niet gecomprimeerd. Deze waarde opgeven wanneer aanroepenCImage::CreateExgelijk is aan aan aanroepenCImage::Create.BI_BITFIELDSDe indeling is niet gecomprimeerd en de kleurentabel bestaat uit drieDWORDkleurenmaskers waarmee respectievelijk de rode, groene en blauwe onderdelen van elke pixel worden opgegeven. Dit is geldig bij gebruik met 16- en 32-bpp-bitmaps.
pdwBitfields
Alleen gebruikt als eCompression is ingesteld op BI_BITFIELDS, anders moet het zijn NULL. Een aanwijzer naar een matrix van drie DWORD bitmaskers, waarmee wordt opgegeven welke bits van elke pixel worden gebruikt voor respectievelijk de rode, groene en blauwe onderdelen van de kleur. Zie de Windows SDK voor informatie over beperkingen voor bitfields BITMAPINFOHEADER .
dwFlags
Hiermee geeft u op of het bitmapobject een alfakanaal heeft. Dit kan een combinatie zijn van nul of meer van de volgende waarden:
createAlphaChannelKan alleen worden gebruikt alsnBPPhet 32 is eneCompressionisBI_RGB. Indien opgegeven, heeft de gemaakte afbeelding een alfawaarde (transparantie) voor elke pixel, opgeslagen in de 4e byte van elke pixel (ongebruikt in een niet-alfa 32-bits afbeelding). Dit alfakanaal wordt automatisch gebruikt bij het aanroepenCImage::AlphaBlend.Note
In aanroepen naar
CImage::Draw, worden afbeeldingen met een alfakanaal automatisch alfa gemengd met de bestemming.
Return Value
TRUE als het lukt. Anders FALSE.
Example
In het volgende voorbeeld wordt een bitmap van 100 x 100 pixels gemaakt, waarbij 16 bits worden gebruikt om elke pixel te coderen. In een bepaalde 16-bits pixel coderen bits 0-3 het rode onderdeel, bits 4-7 coderen groen en bits 8-11 blauw. De resterende 4 bits worden niet gebruikt.
DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);
CImage::Destroy
Loskoppelt de bitmap van het CImage object en vernietigt de bitmap.
void Destroy() throw();
CImage::Detach
Loskoppelt een bitmap van een CImage object.
HBITMAP Detach() throw();
Return Value
Een greep aan de bitmap losgekoppeld of NULL als er geen bitmap is gekoppeld.
CImage::Draw
Hiermee kopieert u een bitmap van de context van het bronapparaat naar de huidige apparaatcontext.
BOOL Draw(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight) const throw();
BOOL Draw(
HDC hDestDC,
const RECT& rectDest,
const RECT& rectSrc) const throw();
BOOL Draw(
HDC hDestDC,
int xDest,
int yDest) const throw();
BOOL Draw(
HDC hDestDC,
const POINT& pointDest) const throw();
BOOL Draw(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight) const throw();
BOOL Draw(
HDC hDestDC,
const RECT& rectDest) const throw();
Parameters
hDestDC
Een ingang naar de context van het doelapparaat.
xDest
De x-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
yDest
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
nDestWidth
De breedte, in logische eenheden, van de doelrechthoek.
nDestHeight
De hoogte, in logische eenheden, van de doelrechthoek.
xSrc
De x-coördinaat in logische eenheden van de linkerbovenhoek van de bronrechthoek.
ySrc
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de bronrechthoek.
nSrcWidth
De breedte, in logische eenheden, van de bronrechthoek.
nSrcHeight
De hoogte, in logische eenheden, van de bronrechthoek.
rectDest
Een verwijzing naar een RECT structuur, waarmee de bestemming wordt geïdentificeerd.
rectSrc
Een verwijzing naar een RECT structuur, waarmee de bron wordt geïdentificeerd.
pointDest
Een verwijzing naar een POINT structuur die de linkerbovenhoek van de doelrechthoek identificeert, in logische eenheden.
Return Value
Niet-nul indien geslaagd; anders 0.
Remarks
Draw voert dezelfde bewerking uit als StretchBlt, tenzij de afbeelding een transparante kleur of alfakanaal bevat. In dat geval Draw voert u dezelfde bewerking uit als ofwel TransparentBltAlphaBlend als vereist.
Voor versies van Draw die geen bronrechthoek opgeven, is de volledige broninstallatiekopieën de standaardinstelling. Voor de versie die Draw geen grootte voor de doelrechthoek opgeeft, is de grootte van de bronafbeelding de standaardinstelling en treedt er geen stretch- of verkleining op.
CImage::GetBits
Hiermee wordt een aanwijzer opgehaald naar de werkelijke bitwaarden van een bepaalde pixel in een bitmap.
void* GetBits() throw();
Return Value
Een aanwijzer naar de bitmapbuffer. Als de bitmap een onderste dib is, wijst de aanwijzer aan bij het einde van de buffer. Als de bitmap een dib van boven naar beneden is, wijst de aanwijzer naar de eerste byte van de buffer.
Remarks
Met deze aanwijzer kunt u, samen met de door u geretourneerde GetPitchwaarde, afzonderlijke pixels in een afbeelding zoeken en wijzigen.
Note
Deze methode ondersteunt alleen DIB-sectie bitmaps; daarom krijgt u toegang tot de pixels van een CImage object op dezelfde manier als de pixels van een DIB-sectie. De geretourneerde aanwijzer verwijst naar de pixel op de locatie (0, 0).
CImage::GetBPP
Haalt de bits-per-pixelwaarde op.
int GetBPP() const throw();
Return Value
Het aantal bits per pixel.
Remarks
Deze waarde bepaalt het aantal bits dat elke pixel definieert en het maximum aantal kleuren in de bitmap.
De bits per pixel zijn meestal 1, 4, 8, 16, 24 of 32. Zie het biBitCount lid van BITMAPINFOHEADER de Windows SDK voor meer informatie over deze waarde.
CImage::GetColorTable
Haalt rode, groene, blauwe (RGB)-kleurwaarden op uit een reeks vermeldingen in het palet van de DIB-sectie.
void GetColorTable(
UINT iFirstColor,
UINT nColors,
RGBQUAD* prgbColors) const throw();
Parameters
iFirstColor
De kleurentabelindex van het eerste item dat moet worden opgehaald.
nColors
Het aantal kleurtabelvermeldingen dat moet worden opgehaald.
prgbColors
Een aanwijzer naar de matrix met structuren om de items in RGBQUAD de kleurentabel op te halen.
CImage::GetDC
Hiermee haalt u de apparaatcontext op waarvoor momenteel de afbeelding is geselecteerd.
HDC GetDC() const throw();
Return Value
Een ingang naar een apparaatcontext.
Remarks
Voor elke aanroep naar GetDC, moet u een volgende aanroep naar ReleaseDC.
CImage::GetExporterFilterString
Hiermee vindt u afbeeldingsindelingen die beschikbaar zijn voor het opslaan van afbeeldingen.
static HRESULT GetExporterFilterString(
CSimpleString& strExporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultSave,
TCHAR chSeparator = _T('|'));
Parameters
strExporters
Een verwijzing naar een CSimpleString-object. Zie Opmerkingen voor meer informatie.
aguidFileTypes
Een matrix met GUID's, waarbij elk element overeenkomt met een van de bestandstypen in de tekenreeks. In het onderstaande aguidFileTypes[0] voorbeeld pszAllFilesDescription zijn GUID_NULL de overige matrixwaarden de bestandsindelingen van de afbeelding die door het huidige besturingssysteem worden ondersteund.
Note
Zie Constanten voor afbeeldingsbestandsindelingen in de Windows SDK voor een volledige lijst met constanten.
pszAllFilesDescription
Als deze parameter niet NULLis, heeft de filtertekenreeks één extra filter aan het begin van de lijst. Dit filter heeft de huidige waarde voor pszAllFilesDescription de beschrijving en accepteert bestanden van elke extensie die wordt ondersteund door een andere exporteur in de lijst.
For example:
//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any exporter.
CImage::GetExporterFilterString(
strExporters, aguidFileTypes,
_T("All Image Files"));
dwExclude
Set bitvlagken die aangeven welke bestandstypen moeten worden uitgesloten van de lijst. Toegestane vlaggen zijn:
excludeGIF= 0x01 SLUIT GIF-bestanden uit.excludeBMP= 0x02 sluit BMP-bestanden (Windows Bitmap) uit.excludeEMF= 0x04 EMF-bestanden (Enhanced Metafile) uitsluiten.excludeWMF= 0x08 sluit WMF-bestanden (Windows Metafile) uit.excludeJPEG= 0x10 jpeg-bestanden uitsluiten.excludePNG= 0x20 PNG-bestanden uitsluiten.excludeTIFF= 0x40 TIFF-bestanden uitsluiten.excludeIcon= 0x80 sluit ICO-bestanden (Windows-pictogram) uit.excludeOther= 0x80000000 sluit een ander bestandstype uit dat hierboven niet wordt vermeld.excludeDefaultLoad= 0 Voor laden zijn alle bestandstypen standaard opgenomenexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFVoor het opslaan worden deze bestanden standaard uitgesloten omdat ze meestal speciale vereisten hebben.
chSeparator
Het scheidingsteken dat wordt gebruikt tussen de afbeeldingsindelingen. Zie Opmerkingen voor meer informatie.
Return Value
Een standaard HRESULT.
Remarks
U kunt de resulterende notatietekenreeks doorgeven aan uw MFC-object CFileDialog om de bestandsextensies van de beschikbare afbeeldingsindelingen beschikbaar te maken in het dialoogvenster Opslaan als.
De parameter strExporter heeft de indeling:
file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||
waarbij | het scheidingsteken is opgegeven door chSeparator. For example:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Gebruik het standaardscheidingsteken | als u deze tekenreeks doorgeeft aan een MFC-object CFileDialog . Gebruik het null-scheidingsteken '\0' als u deze tekenreeks doorgeeft aan een algemeen dialoogvenster voor het opslaan van bestanden.
CImage::GetHeight
Hiermee haalt u de hoogte, in pixels, van een afbeelding op.
int GetHeight() const throw();
Return Value
De hoogte, in pixels, van een afbeelding.
CImage::GetImporterFilterString
Hiermee vindt u afbeeldingsindelingen die beschikbaar zijn voor het laden van afbeeldingen.
static HRESULT GetImporterFilterString(
CSimpleString& strImporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultLoad,
TCHAR chSeparator = _T('|'));
Parameters
strImporters
Een verwijzing naar een CSimpleString-object. Zie Opmerkingen voor meer informatie.
aguidFileTypes
Een matrix met GUID's, waarbij elk element overeenkomt met een van de bestandstypen in de tekenreeks. In het onderstaande aguidFileTypes[0] voorbeeld pszAllFilesDescription zijn GUID_NULL de overige matrixwaarden de bestandsindelingen voor afbeeldingen die worden ondersteund door het huidige besturingssysteem.
Note
Zie Constanten voor afbeeldingsbestandsindelingen in de Windows SDK voor een volledige lijst met constanten.
pszAllFilesDescription
Als deze parameter niet NULLis, heeft de filtertekenreeks één extra filter aan het begin van de lijst. Dit filter heeft de huidige waarde voor pszAllFilesDescription de beschrijving en accepteert bestanden van elke extensie die wordt ondersteund door een andere exporteur in de lijst.
For example:
//First filter in the list will be titled "All Image Files", and
//will accept files with any extension supported by any importer.
CImage::GetImporterFilterString(
strImporters, aguidFileTypes,
_T("All Image Files"));
dwExclude
Set bitvlagken die aangeven welke bestandstypen moeten worden uitgesloten van de lijst. Toegestane vlaggen zijn:
excludeGIF= 0x01 SLUIT GIF-bestanden uit.excludeBMP= 0x02 sluit BMP-bestanden (Windows Bitmap) uit.excludeEMF= 0x04 EMF-bestanden (Enhanced Metafile) uitsluiten.excludeWMF= 0x08 sluit WMF-bestanden (Windows Metafile) uit.excludeJPEG= 0x10 jpeg-bestanden uitsluiten.excludePNG= 0x20 PNG-bestanden uitsluiten.excludeTIFF= 0x40 TIFF-bestanden uitsluiten.excludeIcon= 0x80 sluit ICO-bestanden (Windows-pictogram) uit.excludeOther= 0x80000000 sluit een ander bestandstype uit dat hierboven niet wordt vermeld.excludeDefaultLoad= 0 Voor laden zijn alle bestandstypen standaard opgenomenexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFVoor het opslaan worden deze bestanden standaard uitgesloten omdat ze meestal speciale vereisten hebben.
chSeparator
Het scheidingsteken dat wordt gebruikt tussen de afbeeldingsindelingen. Zie Opmerkingen voor meer informatie.
Remarks
U kunt de resulterende notatietekenreeks doorgeven aan uw MFC-object CFileDialog om de bestandsextensies van de beschikbare afbeeldingsindelingen weer te geven in het dialoogvenster Bestand openen .
De parameter strImporter heeft de indeling:
'bestandsbeschrijving 0 |.ext0|bestandsbeschrijving 1|. ext1|... bestandsbeschrijving N|*.extN||
waarbij | het scheidingsteken is opgegeven door chSeparator. For example:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Gebruik het standaardscheidingsteken | als u deze tekenreeks doorgeeft aan een MFC-object CFileDialog . Gebruik het scheidingsteken voor '\0' null als u deze tekenreeks doorgeeft aan een algemeen dialoogvenster Bestand openen .
CImage::GetMaxColorTableEntries
Hiermee haalt u het maximum aantal vermeldingen in de kleurentabel op.
int GetMaxColorTableEntries() const throw();
Return Value
Het aantal vermeldingen in de kleurentabel.
Remarks
Deze methode ondersteunt alleen DIB-sectie bitmaps.
CImage::GetPitch
Haalt de pitch van een afbeelding op.
int GetPitch() const throw();
Return Value
De pitch van de afbeelding. Als de retourwaarde negatief is, is de bitmap een onderste dib en de oorsprong ervan is de linkerbenedenhoek. Als de retourwaarde positief is, is de bitmap een dib van boven naar beneden en de oorsprong ervan is de linkerbovenhoek.
Remarks
De pitch is de afstand, in bytes, tussen twee geheugenadressen die het begin van één bitmaplijn en het begin van de volgende bitmaplijn vertegenwoordigen. Omdat de pitch in bytes wordt gemeten, helpt de pitch van een afbeelding u om de pixelnotatie te bepalen. De pitch kan ook extra geheugen bevatten, gereserveerd voor de bitmap.
GetBits Hiermee GetPitch kunt u afzonderlijke pixels van een afbeelding zoeken.
Note
Deze methode ondersteunt alleen DIB-sectie bitmaps.
CImage::GetPixel
Haalt de kleur van de pixel op de locatie op die is opgegeven door x en y.
COLORREF GetPixel(int x, int y) const throw();
Parameters
x
De x-coördinaat van de pixel.
y
De y-coördinaat van de pixel.
Return Value
De rode, groene, blauwe (RGB)-waarde van de pixel. Als de pixel zich buiten het huidige knipgebied bevindt, is CLR_INVALIDde retourwaarde .
CImage::GetPixelAddress
Haalt het exacte adres van een pixel op.
void* GetPixelAddress(int x, int y) throw();
Parameters
x
De x-coördinaat van de pixel.
y
De y-coördinaat van de pixel.
Remarks
Het adres wordt bepaald op basis van de coördinaten van een pixel, de pitch van de bitmap en de bits per pixel.
Voor indelingen met minder dan 8 bits per pixel retourneert deze methode het adres van de byte die de pixel bevat. Als de afbeeldingsindeling bijvoorbeeld 4 bits per pixel heeft, GetPixelAddress wordt het adres van de eerste pixel in de byte geretourneerd en moet u berekenen voor 2 pixels per byte.
Note
Deze methode ondersteunt alleen DIB-sectie bitmaps.
CImage::GetTransparentColor
Haalt de geïndexeerde locatie van de transparante kleur op in het kleurenpalet.
LONG GetTransparentColor() const throw();
Return Value
De index van de transparante kleur.
CImage::GetWidth
Hiermee wordt de breedte, in pixels, van een afbeelding opgehaald.
int GetWidth() const throw();
Return Value
De breedte van de bitmap, in pixels.
CImage::IsDIBSection
Bepaalt of de gekoppelde bitmap een DIB-sectie is.
bool IsDIBSection() const throw();
Return Value
TRUE als de gekoppelde bitmap een DIB-sectie is. Anders FALSE.
Remarks
Als de bitmap geen DIB-sectie is, kunt u de volgende CImage methoden niet gebruiken, die alleen DIB-sectie bitmaps ondersteunen:
CImage::IsIndexed
Bepaalt of de pixels van een bitmap zijn toegewezen aan een kleurenpalet.
bool IsIndexed() const throw();
Return Value
TRUE indien geïndexeerd; anders FALSE.
Remarks
Deze methode retourneert TRUE alleen als de bitmap 8-bits (256 kleuren) of minder is.
Note
Deze methode ondersteunt alleen DIB-sectie bitmaps.
CImage::IsNull
Bepaalt of een bitmap momenteel is geladen.
bool IsNull() const throw();
Remarks
Deze methode retourneert TRUE als een bitmap momenteel niet is geladen; anders FALSE.
CImage::IsTransparencySupported
Geeft aan of de toepassing transparante bitmaps ondersteunt.
static BOOL IsTransparencySupported() throw();
Return Value
Niet-nul als het huidige platform transparantie ondersteunt. Otherwise 0.
Remarks
Als de retourwaarde niet-nul is en transparantie wordt ondersteund, wordt een aanroep naar AlphaBlend, TransparentBltof Draw worden transparante kleuren verwerkt.
CImage::Load
Laadt een afbeelding.
HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();
Parameters
pszFileName
Een aanwijzer naar een tekenreeks met de naam van het afbeeldingsbestand dat moet worden geladen.
pStream
Een aanwijzer naar een stroom met de naam van het afbeeldingsbestand dat moet worden geladen.
Return Value
Een standaard HRESULT.
Remarks
Laadt de installatiekopieën die zijn opgegeven door pszFileName of pStream.
Geldige afbeeldingstypen zijn BMP, GIF, JPEG, PNG en TIFF.
CImage::LoadFromResource
Laadt een afbeelding van een BITMAP resource.
void LoadFromResource(
HINSTANCE hInstance,
LPCTSTR pszResourceName) throw();
void LoadFromResource(
HINSTANCE hInstance,
UINT nIDResource) throw();
Parameters
hInstance
Afhandelen naar een exemplaar van de module die de installatiekopieën bevat die moeten worden geladen.
pszResourceName
Een aanwijzer naar de tekenreeks met de naam van de resource die de afbeelding bevat die moet worden geladen.
nIDResource
De id van de resource die moet worden geladen.
Remarks
De resource moet van het type BITMAPzijn.
CImage::MaskBlt
Combineert de kleurgegevens voor de bron- en doel bitmaps met behulp van het opgegeven masker en raster.
BOOL MaskBlt(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
int xSrc,
int ySrc,
HBITMAP hbmMask,
int xMask,
int yMask,
DWORD dwROP = SRCCOPY) const throw();
BOOL MaskBlt(
HDC hDestDC,
const RECT& rectDest,
const POINT& pointSrc,
HBITMAP hbmMask,
const POINT& pointMask,
DWORD dwROP = SRCCOPY) const throw();
BOOL MaskBlt(
HDC hDestDC,
int xDest,
int yDest,
HBITMAP hbmMask,
DWORD dwROP = SRCCOPY) const throw();
BOOL MaskBlt(
HDC hDestDC,
const POINT& pointDest,
HBITMAP hbmMask,
DWORD dwROP = SRCCOPY) const throw();
Parameters
hDestDC
De ingang naar de module waarvan het uitvoerbare bestand de resource bevat.
xDest
De x-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
yDest
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
nDestWidth
De breedte, in logische eenheden, van de doelrechthoek en de bron bitmap.
nDestHeight
De hoogte, in logische eenheden, van de doelrechthoek en de bron bitmap.
xSrc
De logische x-coördinaat van de linkerbovenhoek van de bron bitmap.
ySrc
De logische y-coördinaat van de linkerbovenhoek van de bron bitmap.
hbmMask
Greep naar de monochrome masker bitmap gecombineerd met de kleur bitmap in de context van het bronapparaat.
xMask
De horizontale pixel offset voor de masker bitmap die is opgegeven door de hbmMask parameter.
yMask
De verticale pixelverschil voor de masker bitmap die is opgegeven door de hbmMask parameter.
dwROP
Hiermee geeft u zowel voorgrond- als achtergrond ternaire rasterbewerkingscodes op die door de methode worden gebruikt om de combinatie van bron- en doelgegevens te beheren. De achtergrondrasterbewerkingscode wordt opgeslagen in de byte met hoge volgorde van het woord in hoge volgorde van deze waarde; de code voor de voorgrondrasterbewerking wordt opgeslagen in de byte met lage volgorde van het woord in hoge volgorde van deze waarde; het woord met lage volgorde van deze waarde wordt genegeerd en moet nul zijn. Zie de Windows SDK voor een bespreking van voorgrond en achtergrond in de context van deze methode MaskBlt . Zie de Windows SDK voor een lijst met algemene rasterbewerkingscodes BitBlt .
rectDest
Een verwijzing naar een RECT structuur, waarmee de bestemming wordt geïdentificeerd.
pointSrc
Een POINT structuur die de linkerbovenhoek van de bronrechthoek aangeeft.
pointMask
Een POINT structuur die de linkerbovenhoek van de masker bitmap aangeeft.
pointDest
Een verwijzing naar een POINT structuur die de linkerbovenhoek van de doelrechthoek identificeert, in logische eenheden.
Return Value
Nonzero als dit lukt, anders 0.
Remarks
Deze methode is alleen van toepassing op Windows NT, versie 4.0 en hoger.
CImage::operator HBITMAP
Gebruik deze operator om de gekoppelde Windows GDI-ingang van het CImage object op te halen. Deze operator is een cast-operator die direct gebruik van een HBITMAP object ondersteunt.
CImage::PlgBlt
Voert een bitblokkeringsoverdracht uit vanuit een rechthoek in een bronapparaatcontext naar een parallelogram in een doelapparaatcontext.
BOOL PlgBlt(
HDC hDestDC,
const POINT* pPoints,
HBITMAP hbmMask = NULL) const throw();
BOOL PlgBlt(
HDC hDestDC,
const POINT* pPoints,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
HBITMAP hbmMask = NULL,
int xMask = 0,
int yMask = 0) const throw();
BOOL PlgBlt(
HDC hDestDC,
const POINT* pPoints,
const RECT& rectSrc,
HBITMAP hbmMask = NULL,
const POINT& pointMask = CPoint(0, 0)) const throw();
Parameters
hDestDC
Een ingang naar de context van het doelapparaat.
pPoints
Een aanwijzer naar een matrix van drie punten in de logische ruimte die drie hoeken van het doelparallelogram identificeert. De linkerbovenhoek van de bronrechthoek wordt toegewezen aan het eerste punt in deze matrix, de rechterbovenhoek van het tweede punt in deze matrix en de linkerbenedenhoek naar het derde punt. De rechterbenedenhoek van de bronrechthoek wordt toegewezen aan het impliciete vierde punt in het parallellogram.
hbmMask
Een greep naar een optionele monochrome bitmap die wordt gebruikt om de kleuren van de bronrechthoek te maskeren.
xSrc
De x-coördinaat in logische eenheden van de linkerbovenhoek van de bronrechthoek.
ySrc
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de bronrechthoek.
nSrcWidth
De breedte, in logische eenheden, van de bronrechthoek.
nSrcHeight
De hoogte, in logische eenheden, van de bronrechthoek.
xMask
De x-coördinaat van de linkerbovenhoek van de monochrome bitmap.
yMask
De y-coördinaat van de linkerbovenhoek van de monochrome bitmap.
rectSrc
Een verwijzing naar een RECT structuur die de coördinaten van de bronrechthoek aangeeft.
pointMask
Een POINT structuur die de linkerbovenhoek van de masker bitmap aangeeft.
Return Value
Nonzero als dit lukt, anders 0.
Remarks
Als hbmMask een geldige monochrome bitmap wordt geïdentificeerd, PlgBit gebruikt u deze bitmap om de bits van kleurgegevens uit de bronrechthoek te maskeren.
Deze methode is alleen van toepassing op Windows NT, versie 4.0 en hoger. Zie PlgBlt in de Windows SDK voor meer gedetailleerde informatie.
CImage::ReleaseDC
Hiermee wordt de apparaatcontext vrijgegeven.
void ReleaseDC() const throw();
Remarks
Omdat er slechts één bitmap tegelijk in een apparaatcontext kan worden geselecteerd, moet u elke aanroep aanroepenReleaseDC.GetDC
CImage::ReleaseGDIPlus
Releases resources die worden gebruikt door GDI+.
void ReleaseGDIPlus() throw();
Remarks
Deze methode moet worden aangeroepen aan gratis resources die zijn toegewezen door een globaal CImage object. Zie CImage::CImage.
CImage::Save
Slaat een installatiekopieën op in de opgegeven stream of het opgegeven bestand op schijf.
HRESULT Save(
IStream* pStream,
REFGUID guidFileType) const throw();
HRESULT Save(
LPCTSTR pszFileName,
REFGUID guidFileType = GUID_NULL) const throw();
Parameters
pStream
Een aanwijzer naar een COM IStream-object met de afbeeldingsgegevens van het bestand.
pszFileName
Een aanwijzer naar de bestandsnaam voor de afbeelding.
guidFileType
Het bestandstype om de afbeelding op te slaan als. Dit kan een van de volgende zijn:
ImageFormatBMPEen niet-gecomprimeerde bitmapafbeelding.ImageFormatPNGEen gecomprimeerde png-afbeelding (Portable Network Graphic).ImageFormatJPEGEen JPEG gecomprimeerde afbeelding.ImageFormatGIFEen gecomprimeerde GIF-afbeelding.
Note
Zie Constanten voor afbeeldingsbestandsindelingen in de Windows SDK voor een volledige lijst met constanten.
Return Value
Een standaard HRESULT.
Remarks
Roep deze functie aan om de afbeelding op te slaan met een opgegeven naam en type. Als de guidFileType parameter niet is opgenomen, wordt de bestandsextensie van de bestandsnaam gebruikt om de afbeeldingsindeling te bepalen. Als er geen extensie is opgegeven, wordt de installatiekopieën opgeslagen in BMP-indeling.
CImage::SetColorTable
Hiermee stelt u de kleurwaarden rood, groen, blauw (RGB) in voor een reeks vermeldingen in het palet van de DIB-sectie.
void SetColorTable(
UINT iFirstColor,
UINT nColors,
const RGBQUAD* prgbColors) throw();
Parameters
iFirstColor
De kleurentabelindex van het eerste item dat moet worden ingesteld.
nColors
Het aantal kleurentabelvermeldingen dat moet worden ingesteld.
prgbColors
Een aanwijzer naar de matrix met structuren om de vermeldingen in RGBQUAD de kleurentabel in te stellen.
Remarks
Deze methode ondersteunt alleen DIB-sectie bitmaps.
CImage::SetPixel
Hiermee stelt u de kleur van een pixel in op een bepaalde locatie in de bitmap.
void SetPixel(int x, int y, COLORREF color) throw();
Parameters
x
De horizontale locatie van de pixel die moet worden ingesteld.
y
De verticale locatie van de pixel die moet worden ingesteld.
color
De kleur waarop u de pixel instelt.
Remarks
Deze methode mislukt als de pixelcoördinaten buiten het geselecteerde knipgebied liggen.
CImage::SetPixelIndexed
Hiermee stelt u de pixelkleur in op de kleur in iIndex het kleurenpalet.
void SetPixelIndexed(int x, int y, int iIndex) throw();
Parameters
x
De horizontale locatie van de pixel die moet worden ingesteld.
y
De verticale locatie van de pixel die moet worden ingesteld.
iIndex
De index van een kleur in het kleurenpalet.
CImage::SetPixelRGB
Hiermee stelt u de pixel in op de locaties die zijn opgegeven door x en y op de kleuren die worden aangegeven door r, gen b, in een rood, groen, blauw (RGB)-afbeelding.
void SetPixelRGB(
int x,
int y,
BYTE r,
BYTE g,
BYTE b) throw();
Parameters
x
De horizontale locatie van de pixel die moet worden ingesteld.
y
De verticale locatie van de pixel die moet worden ingesteld.
r
De intensiteit van de rode kleur.
g
De intensiteit van de groene kleur.
b
De intensiteit van de blauwe kleur.
Remarks
De rode, groene en blauwe parameters worden vertegenwoordigd door een getal tussen 0 en 255. Als u alle drie de parameters instelt op nul, is de gecombineerde resulterende kleur zwart. Als u alle drie de parameters instelt op 255, is de gecombineerde resulterende kleur wit.
CImage::SetTransparentColor
Hiermee stelt u een kleur in op een bepaalde geïndexeerde locatie als transparant.
LONG SetTransparentColor(LONG iTransparentColor) throw();
Parameters
iTransparentColor
De index, in een kleurenpalet, van de kleur die moet worden ingesteld op transparant. Als -1, is er geen kleur ingesteld op transparant.
Return Value
De index van de kleur die eerder als transparant is ingesteld.
CImage::StretchBlt
Hiermee kopieert u een bitmap van de bronapparaatcontext naar deze huidige apparaatcontext.
BOOL StretchBlt(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
DWORD dwROP = SRCCOPY) const throw();
BOOL StretchBlt(
HDC hDestDC,
const RECT& rectDest,
DWORD dwROP = SRCCOPY) const throw();
BOOL StretchBlt(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
DWORD dwROP = SRCCOPY) const throw();
BOOL StretchBlt(
HDC hDestDC,
const RECT& rectDest,
const RECT& rectSrc,
DWORD dwROP = SRCCOPY) const throw();
Parameters
hDestDC
Een ingang naar de context van het doelapparaat.
xDest
De x-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
yDest
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
nDestWidth
De breedte, in logische eenheden, van de doelrechthoek.
nDestHeight
De hoogte, in logische eenheden, van de doelrechthoek.
dwROP
De rasterbewerking die moet worden uitgevoerd. Rasterbewerkingscodes definiëren precies hoe de bits van de bron, het doel en het patroon (zoals gedefinieerd door de geselecteerde kwast) moeten worden gecombineerd om de bestemming te vormen. Zie BitBlt in de Windows SDK voor een lijst met andere rasterbewerkingscodes en de bijbehorende beschrijvingen.
rectDest
Een verwijzing naar een RECT structuur, waarmee de bestemming wordt geïdentificeerd.
xSrc
De x-coördinaat in logische eenheden van de linkerbovenhoek van de bronrechthoek.
ySrc
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de bronrechthoek.
nSrcWidth
De breedte, in logische eenheden, van de bronrechthoek.
nSrcHeight
De hoogte, in logische eenheden, van de bronrechthoek.
rectSrc
Een verwijzing naar een RECT structuur, waarmee de bron wordt geïdentificeerd.
Return Value
Nonzero als dit lukt, anders 0.
Remarks
Zie de Windows SDK voor meer informatie StretchBlt .
CImage::TransparentBlt
Hiermee kopieert u een bitmap van de bronapparaatcontext naar deze huidige apparaatcontext.
BOOL TransparentBlt(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
UINT crTransparent = CLR_INVALID) const throw();
BOOL TransparentBlt(
HDC hDestDC,
const RECT& rectDest,
UINT crTransparent = CLR_INVALID) const throw();
BOOL TransparentBlt(
HDC hDestDC,
int xDest,
int yDest,
int nDestWidth,
int nDestHeight,
int xSrc,
int ySrc,
int nSrcWidth,
int nSrcHeight,
UINT crTransparent = CLR_INVALID) const throw();
BOOL TransparentBlt(
HDC hDestDC,
const RECT& rectDest,
const RECT& rectSrc,
UINT crTransparent = CLR_INVALID) const throw();
Parameters
hDestDC
Een ingang naar de context van het doelapparaat.
xDest
De x-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
yDest
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de doelrechthoek.
nDestWidth
De breedte, in logische eenheden, van de doelrechthoek.
nDestHeight
De hoogte, in logische eenheden, van de doelrechthoek.
crTransparent
De kleur in de bron bitmap om als transparant te behandelen.
CLR_INVALIDStandaard wordt aangegeven dat de kleur die momenteel is ingesteld als de transparante kleur van de afbeelding moet worden gebruikt.
rectDest
Een verwijzing naar een RECT structuur, waarmee de bestemming wordt geïdentificeerd.
xSrc
De x-coördinaat in logische eenheden van de linkerbovenhoek van de bronrechthoek.
ySrc
De y-coördinaat, in logische eenheden, van de linkerbovenhoek van de bronrechthoek.
nSrcWidth
De breedte, in logische eenheden, van de bronrechthoek.
nSrcHeight
De hoogte, in logische eenheden, van de bronrechthoek.
rectSrc
Een verwijzing naar een RECT structuur, waarmee de bron wordt geïdentificeerd.
Return Value
TRUE indien geslaagd, anders FALSE.
Remarks
TransparentBlt wordt ondersteund voor bron bitmaps van 4 bits per pixel en 8 bits per pixel. Hiermee CImage::AlphaBlend geeft u 32 bits-per-pixel bitmaps met transparantie op.
Example
// Performs a transparent blit from the source image to the destination
// image using the images' current transparency settings
BOOL TransparentBlt(CImage* pSrcImage, CImage* pDstImage,
int xDest, int yDest, int nDestWidth, int nDestHeight)
{
HDC hDstDC = NULL;
BOOL bResult;
if(pSrcImage == NULL || pDstImage == NULL)
{
// Invalid parameter
return FALSE;
}
// Obtain a DC to the destination image
hDstDC = pDstImage->GetDC();
// Perform the blit
bResult = pSrcImage->TransparentBlt(hDstDC, xDest, yDest, nDestWidth, nDestHeight);
// Release the destination DC
pDstImage->ReleaseDC();
return bResult;
}
See also
MMXSwarm Voorbeeld
SimpleImage Voorbeeld
Device-Independent Bitmaps
CreateDIBSection
ATL COM Desktop Components
Device-Independent Bitmaps