Clase CImage

CImage proporciona compatibilidad mejorada con los mapas de bits, incluida la capacidad de cargar y guardar imágenes en formatos JPEG, GIF, BMP y Portable Network Graphics (PNG).

Importante

Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.

Sintaxis

class CImage

Miembros

Constructores públicos

Nombre Descripción
CImage::CImage Constructor .

Métodos públicos

Nombre Descripción
CImage::AlphaBlend Muestra mapas de bits que tienen píxeles transparentes o semitransparentes.
CImage::Attach Adjunta un HBITMAP objeto a un CImage objeto . Se puede usar con mapas de bits de sección no DIB o mapas de bits de sección DIB.
CImage::BitBlt Copia un mapa de bits desde el contexto del dispositivo de origen a este contexto de dispositivo actual.
CImage::Create Crea un mapa de bits de sección DIB y lo adjunta al objeto construido CImage anteriormente.
CImage::CreateEx Crea un mapa de bits de sección DIB (con parámetros adicionales) y lo adjunta al objeto construido CImage anteriormente.
CImage::Destroy Desasocia el mapa de bits del CImage objeto y destruye el mapa de bits.
CImage::Detach Desasocia el mapa de bits de un CImage objeto .
CImage::Draw Copia un mapa de bits de un rectángulo de origen en un rectángulo de destino. Draw estira o comprime el mapa de bits para ajustarse a las dimensiones del rectángulo de destino, si es necesario, y controla la combinación alfa y los colores transparentes.
CImage::GetBits Recupera un puntero a los valores de píxel reales del mapa de bits.
CImage::GetBPP Recupera los bits por píxel.
CImage::GetColorTable Recupera los valores de color rojo, verde, azul (RGB) de un intervalo de entradas de la tabla de colores.
CImage::GetDC Recupera el contexto del dispositivo en el que se selecciona el mapa de bits actual.
CImage::GetExporterFilterString Busca los formatos de imagen disponibles y sus descripciones.
CImage::GetHeight Recupera el alto de la imagen actual en píxeles.
CImage::GetImporterFilterString Busca los formatos de imagen disponibles y sus descripciones.
CImage::GetMaxColorTableEntries Recupera el número máximo de entradas de la tabla de colores.
CImage::GetPitch Recupera el tono de la imagen actual, en bytes.
CImage::GetPixel Recupera el color del píxel especificado por x y y.
CImage::GetPixelAddress Recupera la dirección de un píxel determinado.
CImage::GetTransparentColor Recupera la posición del color transparente en la tabla de colores.
CImage::GetWidth Recupera el ancho de la imagen actual en píxeles.
CImage::IsDIBSection Determina si el mapa de bits adjunto es una sección DIB.
CImage::IsIndexed Indica que los colores de un mapa de bits se asignan a una paleta indizada.
CImage::IsNull Indica si un mapa de bits de origen está cargado actualmente.
CImage::IsTransparencySupported Indica si la aplicación admite mapas de bits transparentes.
CImage::Load Carga una imagen del archivo especificado.
CImage::LoadFromResource Carga una imagen del recurso especificado.
CImage::MaskBlt Combina los datos de color de los mapas de bits de origen y destino mediante la operación de máscara y trama especificadas.
CImage::PlgBlt Realiza una transferencia de bloques de bits desde un rectángulo en un contexto de dispositivo de origen en un paralelismo en un contexto de dispositivo de destino.
CImage::ReleaseDC Libera el contexto del dispositivo que se recuperó con CImage::GetDC.
CImage::ReleaseGDIPlus Libera los recursos usados por GDI+. Se debe llamar a para liberar recursos creados por un objeto global CImage.
CImage::Save Guarda una imagen como el tipo especificado. Save no puede especificar opciones de imagen.
CImage::SetColorTable Establece los valores de color rojo, verde, azul RGB) en un intervalo de entradas de la tabla de colores de la sección DIB.
CImage::SetPixel Establece el píxel en las coordenadas especificadas en el color especificado.
CImage::SetPixelIndexed Establece el píxel en las coordenadas especificadas en el color del índice especificado de la paleta.
CImage::SetPixelRGB Establece el píxel en las coordenadas especificadas en el valor rojo, verde, azul (RGB).
CImage::SetTransparentColor Establece el índice del color que se va a tratar como transparente. Solo un color de una paleta puede ser transparente.
CImage::StretchBlt Copia un mapa de bits de un rectángulo de origen en un rectángulo de destino, ajustando o comprimiendo el mapa de bits para ajustarlo a las dimensiones del rectángulo de destino, si es necesario.
CImage::TransparentBlt Copia un mapa de bits con color transparente del contexto del dispositivo de origen a este contexto de dispositivo actual.

Operadores públicos

Nombre Descripción
CImage::operator HBITMAP Devuelve el controlador de Windows asociado al objeto CImage.

Comentarios

CImage toma mapas de bits que son secciones de mapas de bits independientes del dispositivo (DIB) o no; sin embargo, puede usar Create o CImage::Load solo con secciones DIB. Puede adjuntar un mapa de bits de sección no DIB a un CImage objeto mediante Attach, pero después no puede usar los métodos siguientes CImage, que solo admiten mapas de bits de sección DIB:

Para determinar si un mapa de bits adjunto es una sección dib, llame a IsDibSection.

Nota:

En Visual Studio .NET 2003, esta clase mantiene un recuento del número de CImage objetos creados. Cada vez que el recuento va a 0, se llama automáticamente a la función GdiplusShutdown para liberar los recursos usados por GDI+. Esto garantiza que los CImage objetos creados directa o indirectamente por dll siempre se destruyen correctamente y que GdiplusShutdown no se llama desde DllMain.

Nota:

No se recomienda usar objetos globales CImage en un archivo DLL. Si necesita usar un objeto global CImage en un archivo DLL, llame CImage::ReleaseGDIPlus a para liberar explícitamente los recursos usados por GDI+.

CImage no se puede seleccionar en un nuevo CDC. CImage crea su propio HDC para la imagen. Dado que solo se puede seleccionar en HBITMAP uno HDC en uno, el HBITMAP asociado a no CImage se puede seleccionar en otro HDC. Si necesita CDC, recupere el HDC de CImage y asígnelo a CDC::FromHandle.

Ejemplos

// 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();

Cuando se usa CImage en un proyecto de MFC, tenga en cuenta qué funciones miembro del proyecto esperan un puntero a un CBitmap objeto. Si desea usar CImage con esta función, como CMenu::AppendMenu, use CBitmap::FromHandle, pásela CImageHBITMAPy use el devuelto 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);
}

A través CImagede , tiene acceso a los bits reales de una sección de DIB. Puedes usar un CImage objeto en cualquier lugar en el que hayas usado anteriormente una sección win32 HBITMAP o DIB.

Puede usar CImage desde MFC o ATL.

Nota:

Al crear un proyecto mediante CImage, debe definir CString antes de incluir atlimage.h. Si el proyecto usa ATL sin MFC, incluya atlstr.h antes de incluir atlimage.h. Si el proyecto usa MFC (o si es un proyecto ATL con compatibilidad con MFC), incluya afxstr.h antes de incluir atlimage.h.

Del mismo modo, debe incluir atlimage.h antes de incluir atlimpl.cpp. Para lograr esto fácilmente, incluya atlimage.h en pch.h (stdafx.h en Visual Studio 2017 y versiones anteriores).

Requisitos

Encabezadoatlimage.h:

CImage::AlphaBlend

Muestra mapas de bits que tienen píxeles transparentes o semitransparentes.

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);

Parámetros

hDestDC
Controlar el contexto del dispositivo de destino.

xDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

yDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

bSrcAlpha
Valor de transparencia alfa que se va a usar en todo el mapa de bits de origen. El 0xff predeterminado (255) supone que la imagen es opaca y que solo quiere usar valores alfa por píxel.

bBlendOp
Función de combinación alfa para mapas de bits de origen y destino, un valor alfa global que se aplicará a todo el mapa de bits de origen y la información de formato para el mapa de bits de origen. Actualmente, las funciones de combinación de origen y destino están limitadas a AC_SRC_OVER.

pointDest
Referencia a una POINT estructura que identifica la esquina superior izquierda del rectángulo de destino, en unidades lógicas.

nDestWidth
Ancho, en unidades lógicas, del rectángulo de destino.

nDestHeight
Alto, en unidades lógicas, del rectángulo de destino.

xSrc
Coordenada x lógica de la esquina superior izquierda del rectángulo de origen.

ySrc
Coordenada y lógica de la esquina superior izquierda del rectángulo de origen.

nSrcWidth
Ancho, en unidades lógicas, del rectángulo de origen.

nSrcHeight
Alto, en unidades lógicas, del rectángulo de origen.

rectDest
Referencia a una RECT estructura, que identifica el destino.

rectSrc
Referencia a una estructura RECT, que identifica el origen.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Los mapas de bits de combinación alfa admiten la combinación de colores por píxel.

Cuando bBlendOp se establece en el valor predeterminado de AC_SRC_OVER, el mapa de bits de origen se coloca sobre el mapa de bits de destino en función de los valores alfa de los píxeles de origen.

CImage::Attach

hBitmap Se asocia a un CImage objeto.

void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();

Parámetros

hBitmap
Identificador de una HBITMAP.

eOrientation
Especifica la orientación del mapa de bits. Puede ser uno de los siguientes:

  • DIBOR_DEFAULT La orientación del mapa de bits viene determinada por el sistema operativo.

  • DIBOR_BOTTOMUP Las líneas del mapa de bits están en orden inverso. Esto hace que CImage::GetBits devuelva un puntero cerca del final del búfer de mapa de bits y CImage::GetPitch devolver un número negativo.

  • DIBOR_TOPDOWN Las líneas del mapa de bits están en orden superior a inferior. Esto hace que CImage::GetBits devuelva un puntero al primer byte del búfer de mapa de bits y CImage::GetPitch para devolver un número positivo.

Comentarios

El mapa de bits puede ser un mapa de bits de sección no DIB o un mapa de bits de sección DIB. Consulte IsDIBSection para obtener una lista de métodos que solo puede usar con mapas de bits de sección DIB.

CImage::BitBlt

Copia un mapa de bits desde el contexto del dispositivo de origen a este contexto de dispositivo actual.

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();

Parámetros

hDestDC
HDC de destino.

xDest
Coordenada X lógica de la esquina superior izquierda del rectángulo de destino.

yDest
Coordenada y lógica de la esquina superior izquierda del rectángulo de destino.

dwROP
Operación de trama que se va a realizar. Los códigos de operación de trama definen exactamente cómo combinar los bits del origen, el destino y el patrón (según lo definido por el pincel seleccionado actualmente) para formar el destino. Consulte BitBlt en Windows SDK para obtener una lista de otros códigos de operación ráster y sus descripciones.

pointDest
Estructura POINT que indica la esquina superior izquierda del rectángulo de destino.

nDestWidth
Ancho, en unidades lógicas, del rectángulo de destino.

nDestHeight
Alto, en unidades lógicas, del rectángulo de destino.

xSrc
Coordenada x lógica de la esquina superior izquierda del rectángulo de origen.

ySrc
Coordenada y lógica de la esquina superior izquierda del rectángulo de origen.

rectDest
Estructura RECT que indica el rectángulo de destino.

pointSrc
Estructura POINT que indica la esquina superior izquierda del rectángulo de origen.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Comentarios

Para más información, consulte BitBlt en Windows SDK.

CImage::CImage

Construye un objeto CImage.

CImage() throw();

Comentarios

Una vez que haya construido el objeto, llame a Create, Load, LoadFromResourceo Attach para adjuntar un mapa de bits al objeto.

Nota En Visual Studio, esta clase mantiene un recuento del número de objetos CImage creados. Cada vez que el recuento va a 0, se llama automáticamente a la función GdiplusShutdown para liberar los recursos usados por GDI+. Esto garantiza que los CImage creados directa o indirectamente por archivos DLL siempre se destruyen correctamente y que no se llama a GdiplusShutdown desde DllMain.

No se recomienda usar objetos globales CImage en un archivo DLL. Si necesita usar un objeto global CImage en un archivo DLL, llame CImage::ReleaseGDIPlus a para liberar explícitamente los recursos usados por GDI+.

CImage::Create

Crea un CImage mapa de bits y lo adjunta al objeto construido CImage anteriormente.

BOOL Create(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD dwFlags = 0) throw();

Parámetros

nWidth
Ancho del mapa de CImage mapa de bits, en píxeles.

nHeight
Alto del mapa de CImage mapa de bits, en píxeles. Si nHeight es positivo, el mapa de bits es un DIB de abajo arriba y su origen es la esquina inferior izquierda. Si nHeight es negativo, el mapa de bits es un DIB de arriba abajo y su origen es la esquina superior izquierda.

nBPP
Números de bits por píxel en el mapa de bits. Normalmente, 4, 8, 16, 24 o 32. Puede ser 1 para mapas de bits monocromáticos o máscaras.

dwFlags
Especifica si el objeto de mapa de bits tiene un canal alfa. Puede ser una combinación de cero o más de los valores siguientes:

  • createAlphaChannel Solo se puede usar si nBPP es 32 y eCompression es BI_RGB. Si se especifica, la imagen creada tiene un valor alfa (transparencia) para cada píxel, almacenado en el 4º byte de cada píxel (sin usar en una imagen que no sea alfa de 32 bits). Este canal alfa se usa automáticamente al llamar a CImage::AlphaBlend.

Nota:

En las llamadas a CImage::Draw, las imágenes con un canal alfa se combinan automáticamente con el destino.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

CImage::CreateEx

Crea un CImage mapa de bits y lo adjunta al objeto construido CImage anteriormente.

BOOL CreateEx(
    int nWidth,
    int nHeight,
    int nBPP,
    DWORD eCompression,
    const DWORD* pdwBitmasks = NULL,
    DWORD dwFlags = 0) throw();

Parámetros

nWidth
Ancho del mapa de CImage mapa de bits, en píxeles.

nHeight
Alto del mapa de CImage mapa de bits, en píxeles. Si nHeight es positivo, el mapa de bits es un DIB de abajo arriba y su origen es la esquina inferior izquierda. Si nHeight es negativo, el mapa de bits es un DIB de arriba abajo y su origen es la esquina superior izquierda.

nBPP
Números de bits por píxel en el mapa de bits. Normalmente, 4, 8, 16, 24 o 32. Puede ser 1 para mapas de bits monocromáticos o máscaras.

eCompression
Especifica el tipo de compresión de un mapa de bits inferior comprimido (no se pueden comprimir los DIB de arriba abajo). Puede ser uno de los siguientes valores:

  • BI_RGB El formato no está comprimido. Especificar este valor al llamar CImage::CreateEx a es equivalente a llamar a CImage::Create.

  • BI_BITFIELDS El formato es sin comprimir y la tabla de colores consta de tres DWORD máscaras de color que especifican los componentes rojo, verde y azul, respectivamente, de cada píxel. Esto es válido cuando se usa con mapas de bits de 16 y 32 bpp.

pdwBitfields
Solo se usa si eCompression se establece BI_BITFIELDSen ; de lo contrario, debe ser NULL. Puntero a una matriz de tres DWORD máscaras de bits, especificando qué bits de cada píxel se usan para los componentes rojo, verde y azul del color, respectivamente. Para obtener información sobre las restricciones de los campos de bits, consulte BITMAPINFOHEADER en Windows SDK.

dwFlags
Especifica si el objeto de mapa de bits tiene un canal alfa. Puede ser una combinación de cero o más de los valores siguientes:

  • createAlphaChannel Solo se puede usar si nBPP es 32 y eCompression es BI_RGB. Si se especifica, la imagen creada tiene un valor alfa (transparencia) para cada píxel, almacenado en el 4º byte de cada píxel (sin usar en una imagen que no sea alfa de 32 bits). Este canal alfa se usa automáticamente al llamar a CImage::AlphaBlend.

    Nota:

    En las llamadas a CImage::Draw, las imágenes con un canal alfa se combinan automáticamente con el destino.

Valor devuelto

TRUE si se realiza correctamente. De lo contrario, FALSEes .

Ejemplo

En el ejemplo siguiente se crea un mapa de bits de 100 x 100 píxeles, con 16 bits para codificar cada píxel. En un píxel de 16 bits determinado, los bits 0-3 codifican el componente rojo, los bits 4-7 codifican verde y los bits 8-11 codifican azul. Los 4 bits restantes no se usan.

DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);

CImage::Destroy

Desasocia el mapa de bits del CImage objeto y destruye el mapa de bits.

void Destroy() throw();

CImage::Detach

Desasocia el mapa de bits de un CImage objeto.

HBITMAP Detach() throw();

Valor devuelto

Identificador del mapa de bits desasociado o NULL si no se adjunta ningún mapa de bits.

CImage::Draw

Copia un mapa de bits desde el contexto del dispositivo de origen a este contexto de dispositivo actual.

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();

Parámetros

hDestDC
Controlar el contexto del dispositivo de destino.

xDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

yDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

nDestWidth
Ancho, en unidades lógicas, del rectángulo de destino.

nDestHeight
Alto, en unidades lógicas, del rectángulo de destino.

xSrc
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

ySrc
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

nSrcWidth
Ancho, en unidades lógicas, del rectángulo de origen.

nSrcHeight
Alto, en unidades lógicas, del rectángulo de origen.

rectDest
Referencia a una RECT estructura, que identifica el destino.

rectSrc
Referencia a una estructura RECT, que identifica el origen.

pointDest
Referencia a una POINT estructura que identifica la esquina superior izquierda del rectángulo de destino, en unidades lógicas.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

Draw realiza la misma operación que StretchBlt, a menos que la imagen contenga un color transparente o un canal alfa. En ese caso, Draw realiza la misma operación TransparentBlt que o AlphaBlend según sea necesario.

Para las versiones de que no especifican un rectángulo de Draw origen, toda la imagen de origen es el valor predeterminado. Para la versión de Draw que no especifica un tamaño para el rectángulo de destino, el tamaño de la imagen de origen es el valor predeterminado y no se produce ningún ajuste o reducción.

CImage::GetBits

Recupera un puntero a los valores de bits reales de un píxel determinado en un mapa de bits.

void* GetBits() throw();

Valor devuelto

Puntero al búfer de mapa de bits. Si el mapa de bits es un DIB de abajo arriba, el puntero apunta cerca del final del búfer. Si el mapa de bits es un DIB de arriba abajo, el puntero apunta al primer byte del búfer.

Comentarios

Con este puntero, junto con el valor devuelto por GetPitch, puede buscar y cambiar píxeles individuales en una imagen.

Nota:

Este método solo admite mapas de bits de sección DIB; por lo tanto, se accede a los píxeles de un CImage objeto de la misma manera que los píxeles de una sección de DIB. El puntero devuelto apunta al píxel en la ubicación (0, 0).

CImage::GetBPP

Recupera el valor de bits por píxel.

int GetBPP() const throw();

Valor devuelto

Número de bits por píxel.

Comentarios

Este valor determina el número de bits que definen cada píxel y el número máximo de colores en el mapa de bits.

Los bits por píxel suelen ser 1, 4, 8, 16, 24 o 32. Vea el biBitCount miembro de BITMAPINFOHEADER en el Windows SDK para obtener más información sobre este valor.

CImage::GetColorTable

Recupera valores de color rojo, verde, azul (RGB) de un intervalo de entradas en la paleta de la sección DIB.

void GetColorTable(
    UINT iFirstColor,
    UINT nColors,
    RGBQUAD* prgbColors) const throw();

Parámetros

iFirstColor
Índice de la tabla de colores de la primera entrada que se recuperará.

nColors
Número de entradas de tabla de colores que se van a recuperar.

prgbColors
Puntero a la matriz de estructuras para recuperar las entradas de RGBQUAD la tabla de colores.

CImage::GetDC

Recupera el contexto del dispositivo que tiene actualmente la imagen seleccionada en él.

HDC GetDC() const throw();

Valor devuelto

Identificador de un contexto de dispositivo.

Comentarios

Para cada llamada a GetDC, debe tener una llamada posterior a ReleaseDC.

CImage::GetExporterFilterString

Busca formatos de imagen disponibles para guardar imágenes.

static HRESULT GetExporterFilterString(
    CSimpleString& strExporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultSave,
    TCHAR chSeparator = _T('|'));

Parámetros

strExporters
Referencia a un objeto CSimpleString. Consulte Comentarios para más información.

aguidFileTypes
Matriz de GUID, con cada elemento correspondiente a uno de los tipos de archivo de la cadena. En el ejemplo pszAllFilesDescription siguiente, aguidFileTypes[0] es GUID_NULL y los valores de matriz restantes son los formatos de archivo de imagen admitidos por el sistema operativo actual.

Nota:

Para obtener una lista completa de constantes, consulte Constantes de formato de archivo de imagen en Windows SDK.

pszAllFilesDescription
Si este parámetro no es NULL, la cadena de filtro tendrá un filtro adicional al principio de la lista. Este filtro tendrá el valor actual de pszAllFilesDescription para su descripción y acepta archivos de cualquier extensión compatible con cualquier otro exportador de la lista.

Por ejemplo:

//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
Conjunto de marcas de bits que especifican los tipos de archivo que se van a excluir de la lista. Las marcas permitidas son:

  • excludeGIF = 0x01 Excluye archivos GIF.

  • excludeBMP = 0x02 Excluye archivos BMP (mapa de bits de Windows).

  • excludeEMF = 0x04 excluye archivos EMF (metarchivo mejorado).

  • excludeWMF = 0x08 excluye archivos WMF (metarchivo de Windows).

  • excludeJPEG = 0x10 Excluye archivos JPEG.

  • excludePNG = 0x20 Excluye archivos PNG.

  • excludeTIFF = 0x40 Excluye archivos TIFF.

  • excludeIcon = 0x80 excluye archivos ICO (icono de Windows).

  • excludeOther = 0x80000000 Excluye cualquier otro tipo de archivo que no aparezca anteriormente.

  • excludeDefaultLoad = 0 Para la carga, todos los tipos de archivo se incluyen de forma predeterminada.

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Para guardar, estos archivos se excluyen de forma predeterminada porque normalmente tienen requisitos especiales.

chSeparator
Separador utilizado entre los formatos de imagen. Consulte Comentarios para más información.

Valor devuelto

Un HRESULT estándar.

Comentarios

Puede pasar la cadena de formato resultante al objeto MFC CFileDialog para exponer las extensiones de archivo de los formatos de imagen disponibles en el cuadro de diálogo Guardar como archivo.

El parámetro strExporter tiene el formato:

file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||

donde | es el carácter separador especificado por chSeparator. Por ejemplo:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Use el separador | predeterminado si pasa esta cadena a un objeto MFC CFileDialog. Use el separador '\0' null si pasa esta cadena a un cuadro de diálogo común Guardar archivo.

CImage::GetHeight

Recupera el alto, en píxeles, de una imagen.

int GetHeight() const throw();

Valor devuelto

Alto, en píxeles, de una imagen.

CImage::GetImporterFilterString

Busca los formatos de imagen disponibles para cargar imágenes.

static HRESULT GetImporterFilterString(
    CSimpleString& strImporters,
    CSimpleArray<GUID>& aguidFileTypes,
    LPCTSTR pszAllFilesDescription = NULL,
    DWORD dwExclude = excludeDefaultLoad,
    TCHAR chSeparator = _T('|'));

Parámetros

strImporters
Referencia a un objeto CSimpleString. Consulte Comentarios para más información.

aguidFileTypes
Matriz de GUID, con cada elemento correspondiente a uno de los tipos de archivo de la cadena. En el ejemplo de pszAllFilesDescription siguiente, *aguidFileTypes[0]* es GUID_NULL con los valores de matriz restantes son los formatos de archivo de imagen admitidos por el sistema operativo actual.

Nota:

Para obtener una lista completa de constantes, consulte Constantes de formato de archivo de imagen en Windows SDK.

pszAllFilesDescription
Si este parámetro no es NULL, la cadena de filtro tendrá un filtro adicional al principio de la lista. Este filtro tendrá el valor actual de pszAllFilesDescription para su descripción y acepta archivos de cualquier extensión compatible con cualquier otro exportador de la lista.

Por ejemplo:

//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
Conjunto de marcas de bits que especifican los tipos de archivo que se van a excluir de la lista. Las marcas permitidas son:

  • excludeGIF = 0x01 Excluye archivos GIF.

  • excludeBMP = 0x02 Excluye archivos BMP (mapa de bits de Windows).

  • excludeEMF = 0x04 excluye archivos EMF (metarchivo mejorado).

  • excludeWMF = 0x08 excluye archivos WMF (metarchivo de Windows).

  • excludeJPEG = 0x10 Excluye archivos JPEG.

  • excludePNG = 0x20 Excluye archivos PNG.

  • excludeTIFF = 0x40 Excluye archivos TIFF.

  • excludeIcon = 0x80 excluye archivos ICO (icono de Windows).

  • excludeOther = 0x80000000 Excluye cualquier otro tipo de archivo que no aparezca anteriormente.

  • excludeDefaultLoad = 0 Para la carga, todos los tipos de archivo se incluyen de forma predeterminada.

  • excludeDefaultSave = excludeIcon | excludeEMF | excludeWMF Para guardar, estos archivos se excluyen de forma predeterminada porque normalmente tienen requisitos especiales.

chSeparator
Separador utilizado entre los formatos de imagen. Consulte Comentarios para más información.

Comentarios

Puede pasar la cadena de formato resultante al objeto CFileDialog MFC para exponer las extensiones de archivo de los formatos de imagen disponibles en el cuadro de diálogo archivo abierto archivos.

El parámetro strImporter tiene el formato:

'file description 0| .ext0| descripción del archivo 1|. ext1|... descripción del archivo N|*.extN||

donde | es el carácter separador especificado por chSeparator. Por ejemplo:

"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"

Use el separador | predeterminado si pasa esta cadena a un objeto MFC CFileDialog. Use el separador null '\0' si pasa esta cadena a un cuadro de diálogo archivo abierto común.

CImage::GetMaxColorTableEntries

Recupera el número máximo de entradas de la tabla de colores.

int GetMaxColorTableEntries() const throw();

Valor devuelto

Número de entradas de la memoria caché.

Comentarios

Este método solo admite mapas de bits de sección DIB.

CImage::GetPitch

Recupera el tono de una imagen.

int GetPitch() const throw();

Valor devuelto

Tono de la imagen. Si el valor devuelto es negativo, el mapa de bits es una DIB de abajo hacia arriba y su origen es la esquina inferior izquierda. Si el valor devuelto es positivo, el mapa de bits es una DIB de arriba abajo y su origen es la esquina superior izquierda.

Comentarios

El tono es la distancia, en bytes, entre dos direcciones de memoria que representan el principio de una línea de mapa de bits y el principio de la siguiente línea de mapa de bits. Dado que el tono se mide en bytes, el tono de una imagen le ayuda a determinar el formato de píxel. El tono también puede incluir memoria adicional, reservada para el mapa de bits.

Use GetPitch con GetBits para buscar píxeles individuales de una imagen.

Nota:

Este método solo admite mapas de bits de sección DIB.

CImage::GetPixel

Recupera el color del píxel en la ubicación especificada por x e y.

COLORREF GetPixel(int x, int y) const throw();

Parámetros

x
Coordenada x del píxel.

y
Coordenada y del píxel.

Valor devuelto

Valor rojo, verde, azul (RGB) del píxel. Si el píxel está fuera de la región de recorte actual, el valor devuelto es CLR_INVALID.

CImage::GetPixelAddress

Recupera la dirección exacta de un píxel.

void* GetPixelAddress(int x, int y) throw();

Parámetros

x
Coordenada x del píxel.

y
Coordenada y del píxel.

Comentarios

La dirección se determina según las coordenadas de un píxel, el tono del mapa de bits y los bits por píxel.

Para los formatos que tienen menos de 8 bits por píxel, este método devuelve la dirección del byte que contiene el píxel. Por ejemplo, si el formato de imagen tiene 4 bits por píxel, GetPixelAddress devuelve la dirección del primer píxel del byte y debe calcular 2 píxeles por byte.

Nota:

Este método solo admite mapas de bits de sección DIB.

CImage::GetTransparentColor

Recupera la ubicación indizada del color transparente en la paleta de colores.

LONG GetTransparentColor() const throw();

Valor devuelto

Índice del color transparente.

CImage::GetWidth

Recupera el ancho, en píxeles, de una imagen.

int GetWidth() const throw();

Valor devuelto

Ancho del mapa de bits, en píxeles.

CImage::IsDIBSection

Determina si el mapa de bits adjunto es una sección DIB.

bool IsDIBSection() const throw();

Valor devuelto

TRUE si el mapa de bits adjunto es una sección DIB. De lo contrario, FALSEes .

Comentarios

Si el mapa de bits no es una sección DIB, no puede usar los siguientes métodos CImage, que solo admiten mapas de bits de sección DIB:

CImage::IsIndexed

Determina si los píxeles de un mapa de bits se asignan a una paleta de colores.

bool IsIndexed() const throw();

Valor devuelto

TRUE si se indexa; de lo FALSE.

Comentarios

Este método solo devuelve TRUE si el mapa de bits es de 8 bits (256 colores) o menos.

Nota:

Este método solo admite mapas de bits de sección DIB.

CImage::IsNull

Determina si un mapa de bits está cargado actualmente.

bool IsNull() const throw();

Comentarios

Este método devuelve TRUE si un mapa de bits no está cargado actualmente; de lo contrario FALSE.

CImage::IsTransparencySupported

Indica si la aplicación admite mapas de bits transparentes.

static BOOL IsTransparencySupported() throw();

Valor devuelto

Distinto de cero si la plataforma actual admite transparencia. De lo contrario, 0.

Comentarios

Si el valor devuelto es distinto de cero y se admite la transparencia, se admite una llamada a AlphaBlend, TransparentBlto Draw controlará los colores transparentes.

CImage::Load

Carga una imagen.

HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();

Parámetros

pszFileName
Puntero a una cadena que contiene el nombre del archivo de imagen que se cargará.

pStream
Puntero a una cadena que contiene el nombre del archivo de imagen que se cargará.

Valor devuelto

Un HRESULT estándar.

Comentarios

Carga la imagen especificada por pszFileName o pStream.

Los tipos de imagen válidos son BMP, GIF, JPEG, PNG y TIFF.

CImage::LoadFromResource

Carga una imagen de un BITMAP recurso.

void LoadFromResource(
    HINSTANCE hInstance,
    LPCTSTR pszResourceName) throw();

void LoadFromResource(
    HINSTANCE hInstance,
    UINT nIDResource) throw();

Parámetros

hInstance
Controle a una instancia del módulo que contiene la imagen que se va a cargar.

pszResourceName
Puntero a la cadena que contiene el nombre del recurso que contiene la imagen que se va a cargar.

nIDResource
Id. del recurso que se va a cargar.

Comentarios

El recurso debe ser de tipo BITMAP.

CImage::MaskBlt

Combina los datos de color de los mapas de bits de origen y destino mediante la operación de máscara y trama especificadas.

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();

Parámetros

hDestDC
Identificador del módulo cuyo ejecutable contiene el recurso.

xDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

yDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

nDestWidth
Ancho, en unidades lógicas, del rectángulo de destino y del mapa de bits de origen.

nDestHeight
Alto, en unidades lógicas, del rectángulo de destino y del mapa de bits de origen.

xSrc
Coordenada x lógica de la esquina superior izquierda del mapa de bits de origen.

ySrc
Coordenada y lógica de la esquina superior izquierda del mapa de bits de origen.

hbmMask
Control para el mapa de bits de máscara monocromática combinado con el mapa de bits de color en el contexto del dispositivo de origen.

xMask
Desplazamiento horizontal de píxeles para el mapa de bits de máscara especificado por el hbmMask parámetro.

yMask
Desplazamiento de píxel vertical para el mapa de bits de máscara especificado por el hbmMask parámetro.

dwROP
Especifica los códigos de operación de trama ternario en primer plano y en segundo plano que usa el método para controlar la combinación de datos de origen y destino. El código de operación de trama en segundo plano se almacena en el byte de orden superior de la palabra de orden superior de este valor; El código de operación de trama en primer plano se almacena en el byte de orden inferior de la palabra de orden superior de este valor; se omite la palabra de orden inferior de este valor y debe ser cero. Para obtener una explicación de primer plano y de fondo en el contexto de este método, consulte MaskBlt en Windows SDK. Para obtener una lista de códigos de operación ráster comunes, consulte BitBlt en Windows SDK.

rectDest
Referencia a una RECT estructura, que identifica el destino.

pointSrc
Estructura POINT que indica la esquina superior izquierda del rectángulo de origen.

pointMask
Estructura POINT que indica la esquina superior izquierda del mapa de bits de máscara.

pointDest
Referencia a una POINT estructura que identifica la esquina superior izquierda del rectángulo de destino, en unidades lógicas.

Valor devuelto

Distinto de cero si se realiza correctamente; de lo contrario, es 0.

Comentarios

Este método solo se aplica a Windows NT, versiones 4.0 y posteriores.

CImage::operator HBITMAP

Use este operador para obtener el identificador GDI de Windows adjunto del CImage objeto. Este operador es un operador de conversión que admite el uso directo de un objeto HBITMAP.

CImage::PlgBlt

Realiza una transferencia de bloques de bits desde un rectángulo en un contexto de dispositivo de origen en un paralelismo en un contexto de dispositivo de destino.

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();

Parámetros

hDestDC
Controlar el contexto del dispositivo de destino.

pPoints
Puntero a una matriz de tres puntos en el espacio lógico que identifica tres esquinas del paralelograma de destino. La esquina superior izquierda del rectángulo de origen se asigna al primer punto de esta matriz, la esquina superior derecha al segundo punto de esta matriz y la esquina inferior izquierda al tercer punto. La esquina inferior derecha del rectángulo de origen se asigna al cuarto punto implícito del paralelismo.

hbmMask
Identificador de un mapa de bits monocromo opcional que se usa para enmascarar los colores del rectángulo de origen.

xSrc
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

ySrc
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

nSrcWidth
Ancho, en unidades lógicas, del rectángulo de origen.

nSrcHeight
Alto, en unidades lógicas, del rectángulo de origen.

xMask
Coordenada x de la esquina superior izquierda del mapa de bits monocromo.

yMask
Coordenada y de la esquina superior izquierda del mapa de bits monocromo.

rectSrc
Referencia a una RECT estructura que especifica las coordenadas del rectángulo de origen.

pointMask
Estructura POINT que indica la esquina superior izquierda del mapa de bits de máscara.

Valor devuelto

Distinto de cero si se realiza correctamente; de lo contrario, es 0.

Comentarios

Si hbmMask identifica un mapa de bits monocromático válido, PlgBit usa este mapa de bits para enmascarar los bits de datos de color del rectángulo de origen.

Este método solo se aplica a Windows NT, versiones 4.0 y posteriores. Consulte PlgBlt en el Windows SDK para obtener información más detallada.

CImage::ReleaseDC

Libera el contexto del dispositivo.

void ReleaseDC() const throw();

Comentarios

Dado que solo se puede seleccionar un mapa de bits en un contexto de dispositivo a la vez, debe llamar a ReleaseDC para cada llamada a GetDC.

CImage::ReleaseGDIPlus

Libera los recursos usados por GDI+.

void ReleaseGDIPlus() throw();

Comentarios

Se debe llamar a este método para liberar recursos asignados por un objeto global CImage. Vea CImage::CImage.

CImage::Save

Guarda una imagen en el flujo o archivo especificados en el disco.

HRESULT Save(
    IStream* pStream,
    REFGUID guidFileType) const throw();

HRESULT Save(
    LPCTSTR pszFileName,
    REFGUID guidFileType = GUID_NULL) const throw();

Parámetros

pStream
Puntero a un objeto COM IStream que contiene los datos de la imagen de archivo.

pszFileName
Puntero al nombre de archivo de la imagen.

guidFileType
Tipo de archivo que se va a guardar la imagen como. Puede ser uno de los siguientes:

  • ImageFormatBMP Imagen de mapa de bits sin comprimir.

  • ImageFormatPNG Imagen comprimida de gráfico de red portátil (PNG).

  • ImageFormatJPEG Una imagen comprimida JPEG.

  • ImageFormatGIF Una imagen comprimida gif.

Nota:

Para obtener una lista completa de constantes, consulte Constantes de formato de archivo de imagen en Windows SDK.

Valor devuelto

Un HRESULT estándar.

Comentarios

Llame a esta función para guardar la imagen con un nombre y un tipo especificados. Si el guidFileType parámetro no está incluido, la extensión de archivo del nombre de archivo se usará para determinar el formato de imagen. Si no se proporciona ninguna extensión, la imagen se guardará en formato BMP.

CImage::SetColorTable

Establece los valores de color rojo, verde, azul (RGB) para un intervalo de entradas en la paleta de la sección DIB.

void SetColorTable(
    UINT iFirstColor,
    UINT nColors,
    const RGBQUAD* prgbColors) throw();

Parámetros

iFirstColor
Índice de la tabla de colores de la primera entrada que se establece.

nColors
Número de entradas de tabla de colores que se van a recuperar.

prgbColors
Puntero a la matriz de estructuras RGBQUAD para establecer las entradas de la tabla de colores.

Comentarios

Este método solo admite mapas de bits de sección DIB.

CImage::SetPixel

Establece el color de un píxel en una ubicación determinada del mapa de bits.

void SetPixel(int x, int y, COLORREF color) throw();

Parámetros

x
Ubicación horizontal del píxel que se va a establecer.

y
Ubicación vertical del píxel que se va a establecer.

color
Color en el que se establece el píxel.

Comentarios

Este método produce un error si las coordenadas de píxel están fuera de la región de recorte seleccionada.

CImage::SetPixelIndexed

Establece el color de píxel en el color situado en iIndex la paleta de colores.

void SetPixelIndexed(int x, int y, int iIndex) throw();

Parámetros

x
Ubicación horizontal del píxel que se va a establecer.

y
Ubicación vertical del píxel que se va a establecer.

iIndex
Índice de un color en la paleta de colores.

CImage::SetPixelRGB

Establece el píxel en las ubicaciones especificadas por x y y en los colores indicados por r, gy b, en una imagen roja, verde, azul (RGB).

void SetPixelRGB(
    int x,
    int y,
    BYTE r,
    BYTE g,
    BYTE b) throw();

Parámetros

x
Ubicación horizontal del píxel que se va a establecer.

y
Ubicación vertical del píxel que se va a establecer.

r
Intensidad del color rojo.

g
Intensidad del color verde.

b
Intensidad del color azul.

Comentarios

Los parámetros rojo, verde y azul están representados por un número entre 0 y 255. Si establece los tres parámetros en cero, el color resultante combinado es negro. Si establece los tres parámetros en 255, el color resultante combinado es blanco.

CImage::SetTransparentColor

Establece un color en una ubicación indizada determinada como transparente.

LONG SetTransparentColor(LONG iTransparentColor) throw();

Parámetros

iTransparentColor
Índice, en una paleta de colores, del color que se establecerá en transparente. Si es -1, no se establece ningún color en transparente.

Valor devuelto

Índice del color establecido previamente como transparente.

CImage::StretchBlt

Copia un mapa de bits desde el contexto del dispositivo de origen a este contexto de dispositivo actual.

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();

Parámetros

hDestDC
Controlar el contexto del dispositivo de destino.

xDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

yDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

nDestWidth
Ancho, en unidades lógicas, del rectángulo de destino.

nDestHeight
Alto, en unidades lógicas, del rectángulo de destino.

dwROP
Operación de trama que se va a realizar. Los códigos de operación de trama definen exactamente cómo combinar los bits del origen, el destino y el patrón (según lo definido por el pincel seleccionado actualmente) para formar el destino. Consulte BitBlt en Windows SDK para obtener una lista de otros códigos de operación ráster y sus descripciones.

rectDest
Referencia a una RECT estructura, que identifica el destino.

xSrc
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

ySrc
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

nSrcWidth
Ancho, en unidades lógicas, del rectángulo de origen.

nSrcHeight
Alto, en unidades lógicas, del rectángulo de origen.

rectSrc
Referencia a una estructura RECT, que identifica el origen.

Valor devuelto

Distinto de cero si se realiza correctamente; de lo contrario, es 0.

Comentarios

Para más información, consulte StretchBlt en Windows SDK.

CImage::TransparentBlt

Copia un mapa de bits desde el contexto del dispositivo de origen a este contexto de dispositivo actual.

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();

Parámetros

hDestDC
Controlar el contexto del dispositivo de destino.

xDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

yDest
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de destino.

nDestWidth
Ancho, en unidades lógicas, del rectángulo de destino.

nDestHeight
Alto, en unidades lógicas, del rectángulo de destino.

crTransparent
Color del mapa de bits de origen que se va a tratar como transparente. De forma predeterminada, CLR_INVALID, que indica que el color establecido actualmente como color transparente de la imagen se debe usar.

rectDest
Referencia a una RECT estructura, que identifica el destino.

xSrc
Coordenada x, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

ySrc
Coordenada y, en unidades lógicas, de la esquina superior izquierda del rectángulo de origen.

nSrcWidth
Ancho, en unidades lógicas, del rectángulo de origen.

nSrcHeight
Alto, en unidades lógicas, del rectángulo de origen.

rectSrc
Referencia a una estructura RECT, que identifica el origen.

Valor devuelto

TRUE es si se ejecuta correctamente; de lo contrario FALSE, es .

Comentarios

TransparentBlt se admite para mapas de bits de origen de 4 bits por píxel y 8 bits por píxel. Use CImage::AlphaBlend para especificar mapas de bits por píxel de 32 bits con transparencia.

Ejemplo

// 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;
}

Consulte también

MMXSwarm Muestra
SimpleImage Muestra
Device-Independent Bitmaps
CreateDIBSection
Componentes de escritorio COM de ATL
Device-Independent Bitmaps