Share via


Funzioni bitmap (GDI+)

Windows GDI+ espone un'API flat costituita da circa 600 funzioni, implementate in Gdiplus.dll e dichiarate in Gdiplusflat.h. Le funzioni nell'API flat GDI+ sono incapsulate da una raccolta di circa 40 classi C++. È consigliabile non chiamare direttamente le funzioni nell'API flat. Ogni volta che si effettuano chiamate a GDI+, è necessario chiamare i metodi e le funzioni forniti dai wrapper C++. Il Servizio Supporto Tecnico Clienti Microsoft non fornirà supporto per il codice che chiama direttamente l'API flat. Per altre informazioni sull'uso di questi metodi wrapper, vedere API GDI+ Flat.

Le funzioni API flat seguenti vengono incluse nella classe Bitmap C++.

Funzioni bitmap e metodi wrapper corrispondenti

Funzione flat Wrapper, metodo Descrizione
GpStatus WINGDIPAPI GdipCreateBitmapFromStream(IStream* stream, GpBitmap **bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su un flusso. Questa funzione non usa Image Color Management (ICM). Viene chiamato quando il parametro useEmbeddedColorManagement del costruttore Bitmap::Bitmap è impostato su FAL edizione Standard.
GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR* filename, GpBitmap **bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su un file di immagine. Questa funzione non usa ICM. Viene chiamato quando il parametro useEmbeddedColorManagement del costruttore Bitmap::Bitmap è impostato su FAL edizione Standard.
GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM(IStream* stream, GpBitmap **bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su un flusso. Questa funzione usa ICM. Viene chiamato quando il parametro useEmbeddedColorManagement del costruttore Bitmap::Bitmap è impostato su TRUE.
GpStatus WINGDIPAPI GdipCreateBitmapFromFileICM(GDIPCONST WCHAR* filename, GpBitmap **bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su un file di immagine. Questa funzione usa ICM. Viene chiamato quando il parametro useEmbeddedColorManagement del costruttore Bitmap::Bitmap è impostato su TRUE.
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride, PixelFormat format, BYTE* scan0, GpBitmap** bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su una matrice di byte insieme alle dimensioni e alle informazioni sul formato.
GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT width, INT height, GpGraphics* target, GpBitmap** bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su un oggetto Graphics , una larghezza e un'altezza.
GpStatus WINGDIPAPI GdipCreateBitmapFromDirectDrawSurface(IDirectDrawSurface7* surface, GpBitmap** bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su una superficie DirectDraw. L'oggetto Bitmap::Bitmap mantiene un riferimento alla superficie DirectDraw finché l'oggetto Bitmap::Bitmap non viene eliminato o esce dall'ambito.
GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO* gdiBitmapInfo, VOID* gdiBitmapData, GpBitmap** bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su una struttura BITMAPINFO e una matrice di dati pixel.
GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP(HBITMAP hbm, HPALETTE hpal, GpBitmap** bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su un handle per una bitmap GDI (Windows Graphics Device Interface) e un handle per una tavolozza GDI.
GpStatus WINGDIPAPI GdipCreateHBITMAPFromBitmap(GpBitmap* bitmap, HBITMAP* hbmReturn, sfondo ARGB) Bitmap::GetHBITMAP Il metodo Bitmap::GetHBITMAP crea una bitmap GDI da questo oggetto Bitmap .
GpStatus WINGDIPAPI GdipCreateBitmapFromHICON(HICON, GpBitmap** bitmap) Bitmap::Bitmap Crea un oggetto Bitmap basato su un'icona.
GpStatus WINGDIPAPI GdipCreateHICONFromBitmap(GpBitmap* bitmap, HICON* hbmReturn) Bitmap::GetHICON Il metodo Bitmap::GetHICON crea un'icona da questo oggetto Bitmap.
GpStatus WINGDIPAPI GdipCreateBitmapFromResource(HINSTANCE hInstance, GDIPCONST WCHAR* lpBitmapName, GpBitmap** bitmap) Bitmap::Bitmap Crea un oggetto Bitmap::Bitmap basato su un handle di istanza dell'applicazione o dll e sul nome di una risorsa bitmap.
GpStatus WINGDIPAPI GdipCloneBitmapArea(REAL x, REAL y, REAL width, REAL height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap) Bitmap::Clone Il metodo Bitmap::Clone crea un nuovo oggetto Bitmap copiando una parte di questa bitmap.
GpStatus WINGDIPAPI GdipCloneBitmapAreaI(INT x, INT y, INT width, INT height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap) Bitmap::Clone Il metodo Bitmap::Clone crea un nuovo oggetto Bitmap copiando una parte di questa bitmap.
GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap* bitmap, GDIPCONST GpRect* rect, flag UINT, formato PixelFormat, BitmapData* lockedBitmapData) Bitmap::LockBits Il metodo Bitmap::LockBits blocca una parte rettangolare di questa bitmap e fornisce un buffer temporaneo che è possibile usare per leggere o scrivere dati pixel in un formato specificato. Tutti i dati pixel scritti nel buffer vengono copiati nell'oggetto Bitmap quando si chiama Bitmap::UnlockBits.
GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap* bitmap, BitmapData* lockedBitmapData) Bitmap::UnlockBits Il metodo Bitmap::UnlockBits sblocca una parte di questa bitmap bloccata in precedenza da una chiamata a Bitmap::LockBits.
GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap* bitmap, INT x, INT y, ARGB *color) Bitmap::GetPixel Il metodo Bitmap::GetPixel ottiene il colore di un pixel specificato in questa bitmap.
GpStatus WINGDIPAPI GdipBitmapSetPixel(GpBitmap* bitmap, INT x, INT y, colore ARGB) Bitmap::SetPixel Il metodo Bitmap::SetPixel imposta il colore di un pixel specificato in questa bitmap.
GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap* bitmap, REAL xdpi, REAL ydpi) Bitmap::SetResolution Il metodo Bitmap::SetResolution imposta la risoluzione di questo oggetto Bitmap.
GpStatus WINGDIPAPI GdipBitmapConvertFormat(IN GpBitmap *pInputBitmap, PixelFormat format, DitherType dithertype, PaletteType palettetype, ColorPalette *palette, REAL alphaThresholdPercent) Bitmap::ConvertFormat Il metodo Bitmap::ConvertFormat converte una bitmap in un formato pixel specificato. I dati pixel originali nella bitmap vengono sostituiti dai nuovi dati pixel.
GpStatus WINGDIPAPI GdipInitializePalette(OUT ColorPalette *palette, PaletteType palettetype, INT optimalColors, BOOL useTransparentColor, GpBitmap *bitmap) Bitmap::InitializePalette Il metodo Bitmap::InitializePalette inizializza una tavolozza colori standard, ottimale o personalizzata.
GpStatus WINGDIPAPI GdipBitmapApplyEffect(GpBitmap* bitmap, CGpEffect *effect, RECT *roi, BOOL useAuxData, VOID **auxData, INT *auxDataSize) Bitmap::ApplyEffect Il metodo Bitmap::ApplyEffect modifica questo oggetto Bitmap applicando un effetto specificato.
GpStatus WINGDIPAPI GdipBitmapCreateApplyEffect(GpBitmap **inputBitmaps, INT numInputs, CGpEffect *effect, RECT *roi, RECT *outputRect, GpBitmap **outputBitmap, BOOL useAuxData, VOID **auxData, INT *auxDataSize) Bitmap::ApplyEffect Il metodo Bitmap::ApplyEffect crea un nuovo oggetto Bitmap applicando un effetto specificato a un oggetto Bitmap esistente.
GpStatus WINGDIPAPI GdipBitmapGetHistogram(GpBitmap* bitmap, IN HistogramFormat format, IN UINT NumberOfEntries, OUT UINT *channel0, OUT UINT *channel1, OUT UINT *channel2, OUT UINT *channel3) Bitmap::GetHistogram Il metodo Bitmap::GetHistogram restituisce uno o più istogrammi per i canali di colore specificati di questo oggetto Bitmap.
GpStatus WINGDIPAPI GdipBitmapGetHistogramSize(IN HistogramFormat format, OUT UINT *NumberOfEntries) Bitmap::GetHistogramSize Bitmap::GetHistogramSize restituisce il numero di elementi (in una matrice di UINTs) da allocare prima di chiamare il metodo Bitmap::GetHistogram di un oggetto Bitmap.
Stato __stdcall GdipCreateEffect(const GUID guid, CGpEffect **effect) Effetto I costruttori di tutti i discendenti della classe Effect chiamano GdipCreateEffect. Ad esempio, il costruttore Blur effettua la chiamata seguente: GdipCreateEffect(BlurEffectGuid, &nativeEffect); BlurEffectGuid è una costante definita in Gdipluseffects.h.
Stato __stdcall GdipDeleteEffect(CGpEffect *effect) virtual ~Effect() Pulisce le risorse usate da un oggetto Bitmap.
Stato __stdcall GdipGetEffectParameterSize(CGpEffect *effect, UINT *size) Effect::GetParameterSize Il metodo Effect::GetParameterSize ottiene le dimensioni totali, in byte, dei parametri attualmente impostati per questo effetto. Il metodo Effect::GetParameterSize viene in genere chiamato su un oggetto che è un'istanza di un discendente della classe Effect .
Stato __stdcall GdipSetEffectParameters(CGpEffect *effect, const VOID *params, const UINT size) Effetto Ogni discendente della classe Effect ha un metodo SetParameters che chiama il metodo protected Effect::SetParameters, che a sua volta chiama GdipSetEffectParameters. Ad esempio, il metodo Blur::SetParameters effettua la chiamata seguente: Effect::SetParameters(parameters, size).
Stato __stdcall GdipGetEffectParameters(CGpEffect *effect, UINT *size, VOID *params) Effetto Ogni discendente della classe Effect ha un metodo GetParameters che chiama il metodo protected Effect::GetParameters, che a sua volta chiama GdipSetEffectParameters. Ad esempio, il metodo Blur::GetParameters effettua la chiamata seguente: Effect::GetParameters(parameters, size).
GpStatus WINGDIPAPI GdipTestControl(GpTestControlEnum control, void * param) Non chiamato dai wrapper Usato per i test interni di GDI+. Specifica le modifiche apportate al comportamento di elaborazione delle immagini. Il significato del parametro param varia a seconda del valore passato nel parametro del controllo .
Se il parametro di controllo è impostato su TestControlForceBilinear, il parametro punta a un valore di tipo BOOL. Se tale valore è TRUE e la modalità di interpolazione corrente è diversa da InterpolationModeNearestNeighbor, viene usato l'algoritmo InterpolationModeBilinear. Se il valore a cui punta il parametro è FAL edizione Standard o se la modalità di interpolazione corrente è InterpolationModeNearestNeighbor, il comportamento di GDI+ rimane invariato.
Se il parametro del controllo è impostato su TestControlNoICM, il parametro punta a un valore di tipo BOOL. Se tale valore è TRUE, i profili ICM vengono ignorati quando le immagini vengono caricate in memoria. Se il valore a cui punta il parametro è FAL edizione Standard, il comportamento di GDI+ rimane invariato.
Se il parametro del controllo è impostato su TestControlGetBuildNumber, param è un parametro di output che punta a una variabile integer a 32 bit. Tale variabile riceve il numero di build GDI+ .
GdipTestControl non è thread-safe; presuppone che sia presente un solo thread che usa GDI+. Se si chiama GdipTestControl in un ambiente multithreading, i risultati sono imprevedibili.
L'enumerazione GpTestControlEnum ha tre elementi: TestControlForceBilinear = 0, TestControlNoICM = 1 e TestControlGetBuildNumber = 2.