Funciones de mapa de bits (GDI+)

Windows GDI+ expone una API plana que consta de aproximadamente 600 funciones, que se implementan en Gdiplus.dll y se declaran en Gdiplusflat.h. Las funciones de la API plana de GDI+ se encapsulan mediante una colección de aproximadamente 40 clases de C++. Se recomienda no llamar directamente a las funciones de la API plana. Siempre que realice llamadas a GDI+, debe hacerlo llamando a los métodos y funciones proporcionados por los contenedores de C++. Los Servicios de soporte técnico de productos de Microsoft no proporcionarán compatibilidad con el código que llama directamente a la API plana. Para obtener más información sobre el uso de estos métodos contenedor, vea API plana de GDI+.

Las siguientes funciones de API planas se encapsulan en la clase Mapa de bits C++.

Funciones de mapa de bits y métodos contenedor correspondientes

Función plana Método contenedor Descripción
GpStatus WINGDIPAPI GdipCreateBitmapFromStream(IStream* stream, GpBitmap **bitmap) mapa de bits::Mapa de bits Crea un objeto Bitmap::Bitmap basado en una secuencia. Esta función no usa Image Color Management (ICM). Se llama cuando el useEmbeddedColorManagement parámetro del constructor Bitmap::Bitmap está establecido en FALSE.
GpStatus WINGDIPAPI GdipCreateBitmapFromFile(GDIPCONST WCHAR* filename, GpBitmap **bitmap) mapa de bits::Mapa de bits Crea un objeto Bitmap::Bitmap basado en un archivo de imagen. Esta función no usa ICM. Se llama cuando el useEmbeddedColorManagement parámetro del constructor Bitmap::Bitmap está establecido en FALSE.
GpStatus WINGDIPAPI GdipCreateBitmapFromStreamICM(IStream* stream, GpBitmap **bitmap) mapa de bits::Mapa de bits Crea un objeto Bitmap::Bitmap basado en una secuencia. Esta función usa ICM. Se llama cuando el useEmbeddedColorManagement parámetro del constructor Bitmap::Bitmap se establece en TRUE.
GpStatus WINGDIPAPI GdipCreateBitmapFromFileICM(GDIPCONST WCHAR* filename, GpBitmap **bitmap) mapa de bits::Mapa de bits Crea un objeto Bitmap::Bitmap basado en un archivo de imagen. Esta función usa ICM. Se llama cuando el useEmbeddedColorManagement parámetro del constructor Bitmap::Bitmap se establece en TRUE.
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0(INT width, INT height, INT stride, PixelFormat format, BYTE* scan0, GpBitmap** bitmap**) mapa de bits::Mapa de bits Crea un objeto Bitmap::Bitmap basado en una matriz de bytes junto con la información de tamaño y formato.
GpStatus WINGDIPAPI GdipCreateBitmapFromGraphics(INT width, INT height, GpGraphics* target, GpBitmap** bitmap** bitmap) mapa de bits::Mapa de bits Crea un objeto bitmap::Bitmapbasado en un objeto graphics, un ancho y un alto.
GpStatus WINGDIPAPI GdipCreateBitmapFromDirectDrawSurface(IDirectDrawSurface7* surface, GpBitmap** bitmap**) mapa de bits::Mapa de bits Crea un objeto Bitmap::Bitmap basado en una superficie de DirectDraw. El objeto Bitmap::Bitmap mantiene una referencia a la superficie de DirectDraw hasta que el objeto Bitmap::Bitmap se elimina o sale del ámbito.
GpStatus WINGDIPAPI GdipCreateBitmapFromGdiDib(GDIPCONST BITMAPINFO* gdiBitmapInfo, VOID* gdiBitmapData, GpBitmap** bitmap**) mapa de bits::Mapa de bits Crea un objeto bitmap::Bitmap basado en una estructura de BITMAPINFO y una matriz de datos de píxeles.
GpStatus WINGDIPAPI GdipCreateBitmapFromHBITMAP(HBITMAP hbm, HPALETTE hpal, GpBitmap** bitmap**) mapa de bits::Mapa de bits Crea un objeto mapa de bits::Mapa de bits basado en un identificador de un mapa de bits de interfaz de dispositivos gráficos (GDI) de Windows y un identificador para una paleta GDI.
GpStatus WINGDIPAPI GdipCreateHBITMAPFromBitmap(GpBitmap* bitmap, HBITMAP* hbmReturn, ARGB background) mapa de bits::GetHBITMAP El método Bitmap::GetHBITMAP crea un mapa de bits GDI a partir de este objeto de mapa de bits.
GpStatus WINGDIPAPI GdipCreateBitmapFromHICON(HICON hicon, GpBitmap** bitmap**) mapa de bits::Mapa de bits Crea un objetomapa de bits basado en un icono.
GpStatus WINGDIPAPI GdipCreateHICONFromBitmap(GpBitmap* mapa de bits, HICON* hbmReturn) mapa de bits::GetHICON El método Bitmap::GetHICON crea un icono a partir de este objeto bitmap .
GpStatus WINGDIPAPI GdipCreateBitmapFromResource(HINSTANCE hInstance, GDIPCONST WCHAR* lpBitmapName, GpBitmap** bitmap**) mapa de bits::Mapa de bits Crea un objeto Bitmap::Bitmap basado en un identificador de instancia de dll o aplicación y el nombre de un recurso de mapa de bits.
GpStatus WINGDIPAPI GdipCloneBitmapArea(REAL x, REAL y, REAL width, REAL height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap) mapa de bits::Clone El método Bitmap::Clone crea un nuevo objeto mapa de bits copiando una parte de este mapa de bits.
GpStatus WINGDIPAPI GdipCloneBitmapAreaI(INT x, INT y, INT width, INT height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap) mapa de bits::Clone El método Bitmap::Clone crea un nuevo objeto mapa de bits copiando una parte de este mapa de bits.
GpStatus WINGDIPAPI GdipBitmapLockBits(GpBitmap* mapa de bits, GDIPCONST GpRect* rect, marcas UINT, formato PixelFormat, BitmapData* lockedBitmapData) mapa de bits::LockBits El método Bitmap::LockBits bloquea una parte rectangular de este mapa de bits y proporciona un búfer temporal que puede usar para leer o escribir datos de píxeles en un formato especificado. Los datos de píxeles que escriba en el búfer se copian en el objeto mapa de bits al llamar a Bitmap::UnlockBits.
GpStatus WINGDIPAPI GdipBitmapUnlockBits(GpBitmap* mapa de bits, BitmapData* lockedBitmapData) mapa de bits::UnlockBits El método Bitmap::UnlockBits desbloquea una parte de este mapa de bits bloqueado previamente por una llamada a Bitmap::LockBits.
GpStatus WINGDIPAPI GdipBitmapGetPixel(GpBitmap* mapa de bits, INT x, INT y, ARGB *color) mapa de bits::GetPixel El método Bitmap::GetPixel obtiene el color de un píxel especificado en este mapa de bits.
GpStatus WINGDIPAPI GdipBitmapSetPixel(GpBitmap* mapa de bits, INT x, INT y, color ARGB) mapa de bits::SetPixel El método Bitmap::SetPixel establece el color de un píxel especificado en este mapa de bits.
GpStatus WINGDIPAPI GdipBitmapSetResolution(GpBitmap* mapa de bits, REAL xdpi, REAL ydpi) mapa de bits::SetResolution El método Bitmap::SetResolution establece la resolución de este objeto bitmap .
GpStatus WINGDIPAPI GdipBitmapConvertFormat(IN GpBitmap *pInputBitmap, PixelFormat format, DitherType dithertype, PaletteType palettetype, ColorPalette *palette, REAL alphaThresholdPercent) mapa de bits::ConvertFormat El método Bitmap::ConvertFormat convierte un mapa de bits en un formato de píxel especificado. Los datos de píxeles originales del mapa de bits se reemplazan por los nuevos datos de píxeles.
GpStatus WINGDIPAPI GdipInitializePalette(OUT ColorPalette *palette, PaletteType palettetype, INT optimalColors, BOOL useTransparentColor, GpBitmap *bitmap) mapa de bits::InitializePalette El método Bitmap::InitializePalette inicializa una paleta de colores estándar, óptima o personalizada.
GpStatus WINGDIPAPI GdipBitmapApplyEffect(GpBitmap* mapa de bits, CGpEffect *effect, RECT *roi, BOOL useAuxData, VOID **auxData, INT *auxDataSize) mapa de bits::ApplyEffect El métodobitmap::ApplyEffectmodifica este objeto bitmap aplicando un efecto especificado.
GpStatus WINGDIPAPI GdipBitmapCreateApplyEffect(GpBitmap **inputBitmaps, INT numInputs, CGpEffect *effect, RECT *roi, RECT *outputRect, GpBitmap **outputBitmap, BOOL useAuxData, VOID **auxData, INT *auxDataSize) mapa de bits::ApplyEffect El métodobitmap::ApplyEffectcrea un nuevo objeto mapa de bits aplicando un efecto especificado a un objeto Mapa de bits existente.
GpStatus WINGDIPAPI GdipBitmapGetHistogram(GpBitmap* bitmap* bitmap, IN HistogramFormat format, IN UINT NumberOfEntries, OUT UINT *channel0, OUT UINT *channel1, OUT UINT *channel2, OUT UINT *channel3) mapa de bits::GetHistogram El método Bitmap::GetHistogram devuelve uno o varios histogramas para los canales de color especificados de este objeto Mapa de bits.
GpStatus WINGDIPAPI GdipBitmapGetHistogramSize(IN HistogramFormat format, OUT UINT *NumberOfEntries) mapa de bits::GetHistogramSize El Bitmap::GetHistogramSize devuelve el número de elementos (en una matriz de S) que debe asignar antes de llamar al método bitmap::GetHistogram de un objeto Bitmap.
Status __stdcall GdipCreateEffect(const GUID guid, CGpEffect **effect) efecto Los constructores de todos los descendientes del Effect clase llaman a GdipCreateEffect. Por ejemplo, el constructor Blur realiza la siguiente llamada: GdipCreateEffect(BlurEffectGuid, &nativeEffect); BlurEffectGuid es una constante definida en Gdipluseffects.h.
Estado __stdcall GdipDeleteEffect(CGpEffect *effect) virtual ~Effect() Limpia los recursos utilizados por un objetomapa de bits.
Estado __stdcall GdipGetEffectParameterSize(CGpEffect *effect, UINT *size) Effect::GetParameterSize El método Effect::GetParameterSize obtiene el tamaño total, en bytes, de los parámetros establecidos actualmente para este Effect. El método Effect::GetParameterSize normalmente se llama en un objeto que es una instancia de un descendiente de la clase Effect.
Estado __stdcall GdipSetEffectParameters(CGpEffect *effect, const VOID *params, const UINT size) efecto Cada descendiente de la clase Effect tiene un método SetParameters que llama al método protegido Effect::SetParameters, que a su vez llama a GdipSetEffectParameters. Por ejemplo, el método Blur::SetParameters realiza la siguiente llamada: Effect::SetParameters(parameters, size).
Estado __stdcall GdipGetEffectParameters(CGpEffect *effect, UINT *size, VOID *params) efecto Cada descendiente de la clase Effect tiene un método GetParameters que llama al método protegido Effect::GetParameters, que a su vez llama a GdipSetEffectParameters. Por ejemplo, el método Blur::GetParameters realiza la siguiente llamada: Effect::GetParameters(parameters, size).
GpStatus WINGDIPAPI GdipTestControl(GpTestControlEnum control, void * param) No llamado por contenedores Se usa para las pruebas internas de GDI+. Especifica los cambios en el comportamiento de procesamiento de imágenes. El significado del parámetro param varía en función del valor pasado en el parámetro de control.
Si el parámetro de control de se establece en TestControlForceBilinear, param apunta a un valor de tipo BOOL. Si ese valor es TRUE y el modo de interpolación actual es cualquier cosa que no sea InterpolationModeNearestNeighbor, se usa el algoritmo InterpolationModeBilinear. Si el valor al que apunta es FALSE o si el modo de interpolación actual es InterpolationModeNearestNeighbor, el comportamiento de GDI+ no cambia.
Si el parámetro de control está establecido en TestControlNoICM, apunta a un valor de tipo BOOL. Si ese valor es TRUE, los perfiles de ICM se omiten cuando las imágenes se cargan en la memoria. Si el valor al que apunta el parámetro es FALSE, el comportamiento de GDI+ no cambia.
Si el parámetro de control se establece en TestControlGetBuildNumber, parámetro es un parámetro de salida que apunta a una variable de entero de 32 bits. Esa variable recibe el número de compilación de GDI+.
GdipTestControl no es seguro para subprocesos; supone que solo hay un subproceso con GDI+. Si llama a GdipTestControl en un entorno multiproceso, los resultados son impredecibles.
La enumeración GpTestControlEnum tiene tres elementos: TestControlForceBilinear = 0, TestControlNoICM = 1 y TestControlGetBuildNumber = 2.