Delen via


CImage-klasse

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_DEFAULT De afdrukstand van de bitmap wordt bepaald door het besturingssysteem.

  • DIBOR_BOTTOMUP De lijnen van de bitmap staan in omgekeerde volgorde. Dit zorgt ervoor CImage::GetBits dat een aanwijzer aan het einde van de bitmapbuffer wordt geretourneerd en CImage::GetPitch een negatief getal wordt geretourneerd.

  • DIBOR_TOPDOWN De lijnen van de bitmap bevinden zich in de volgorde van boven naar beneden. CImage::GetBits Hierdoor wordt een aanwijzer geretourneerd naar de eerste byte van de bitmapbuffer en CImage::GetPitch wordt 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:

  • createAlphaChannel Kan alleen worden gebruikt als nBPP het 32 is en eCompression is BI_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 aanroepen CImage::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_RGB De indeling is niet gecomprimeerd. Deze waarde opgeven wanneer aanroepen CImage::CreateEx gelijk is aan aan aanroepen CImage::Create.

  • BI_BITFIELDS De indeling is niet gecomprimeerd en de kleurentabel bestaat uit drie DWORD kleurenmaskers 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:

  • createAlphaChannel Kan alleen worden gebruikt als nBPP het 32 is en eCompression is BI_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 aanroepen CImage::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 opgenomen

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Voor 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 opgenomen

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Voor 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:

  • ImageFormatBMP Een niet-gecomprimeerde bitmapafbeelding.

  • ImageFormatPNG Een gecomprimeerde png-afbeelding (Portable Network Graphic).

  • ImageFormatJPEG Een JPEG gecomprimeerde afbeelding.

  • ImageFormatGIF Een 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