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. |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per