Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Clase
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).
Important
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Syntax
class CImage
Members
Public Constructors
| Name | Description |
|---|---|
CImage::CImage |
The constructor. |
Public Methods
| Name | Description |
|---|---|
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. |
Public Operators
| Name | Description |
|---|---|
CImage::operator HBITMAP |
Devuelve el controlador de Windows asociado al objeto CImage. |
Remarks
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.
Note
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.
Note
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.
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();
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 quiere 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.
Note
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).
Requirements
Header:atlimage.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);
Parameters
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.
Return Value
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Remarks
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();
Parameters
hBitmap
Identificador de una HBITMAP.
eOrientation
Especifica la orientación del mapa de bits. Puede ser uno de los siguientes:
DIBOR_DEFAULTLa orientación del mapa de bits viene determinada por el sistema operativo.DIBOR_BOTTOMUPLas líneas del mapa de bits están en orden inverso. Esto hace queCImage::GetBitsdevuelva un puntero cerca del final del búfer de mapa de bits yCImage::GetPitchdevolver un número negativo.DIBOR_TOPDOWNLas líneas del mapa de bits están en orden superior a inferior. Esto hace queCImage::GetBitsdevuelva un puntero al primer byte del búfer de mapa de bits yCImage::GetPitchpara devolver un número positivo.
Remarks
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();
Parameters
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.
Return Value
Es distinto de cero si es correcto. En caso contrario, es cero.
Remarks
Para más información, consulte BitBlt en Windows SDK.
CImage::CImage
Construye un objeto CImage.
CImage() throw();
Remarks
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();
Parameters
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:
-
createAlphaChannelSolo se puede usar sinBPPes 32 yeCompressionesBI_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 aCImage::AlphaBlend.
Note
En las llamadas a CImage::Draw, las imágenes con un canal alfa se combinan automáticamente con el destino.
Return Value
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();
Parameters
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_RGBEl formato no está comprimido. Especificar este valor al llamarCImage::CreateExa es equivalente a llamar aCImage::Create.BI_BITFIELDSEl formato es sin comprimir y la tabla de colores consta de tresDWORDmá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:
createAlphaChannelSolo se puede usar sinBPPes 32 yeCompressionesBI_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 aCImage::AlphaBlend.Note
En las llamadas a
CImage::Draw, las imágenes con un canal alfa se combinan automáticamente con el destino.
Return Value
TRUE si se realiza correctamente. De lo contrario, FALSEes .
Example
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();
Return Value
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();
Parameters
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.
Return Value
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Remarks
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();
Return Value
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.
Remarks
Con este puntero, junto con el valor devuelto por GetPitch, puede buscar y cambiar píxeles individuales en una imagen.
Note
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();
Return Value
Número de bits por píxel.
Remarks
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();
Parameters
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();
Return Value
Identificador de un contexto de dispositivo.
Remarks
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('|'));
Parameters
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.
Note
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.
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
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 | excludeWMFPara 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.
Return Value
Un HRESULT estándar.
Remarks
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. For example:
"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();
Return Value
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('|'));
Parameters
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 pszAllFilesDescription siguiente, aguidFileTypes[0] es GUID_NULL con los valores de matriz restantes los formatos de archivo de imagen admitidos por el sistema operativo actual.
Note
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.
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
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 | excludeWMFPara 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.
Remarks
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. For example:
"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();
Return Value
Número de entradas de la memoria caché.
Remarks
Este método solo admite mapas de bits de sección DIB.
CImage::GetPitch
Recupera el tono de una imagen.
int GetPitch() const throw();
Return Value
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.
Remarks
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.
Note
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();
Parameters
x
Coordenada x del píxel.
y
Coordenada y del píxel.
Return Value
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();
Parameters
x
Coordenada x del píxel.
y
Coordenada y del píxel.
Remarks
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.
Note
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();
Return Value
Índice del color transparente.
CImage::GetWidth
Recupera el ancho, en píxeles, de una imagen.
int GetWidth() const throw();
Return Value
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();
Return Value
TRUE si el mapa de bits adjunto es una sección DIB. De lo contrario, FALSEes .
Remarks
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();
Return Value
TRUE si se indexa; de lo FALSE.
Remarks
Este método solo devuelve TRUE si el mapa de bits es de 8 bits (256 colores) o menos.
Note
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();
Remarks
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();
Return Value
Distinto de cero si la plataforma actual admite transparencia. Otherwise 0.
Remarks
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();
Parameters
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á.
Return Value
Un HRESULT estándar.
Remarks
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();
Parameters
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.
Remarks
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();
Parameters
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.
Return Value
Distinto de cero si se realiza correctamente; de lo contrario, es 0.
Remarks
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();
Parameters
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.
Return Value
Distinto de cero si se realiza correctamente; de lo contrario, es 0.
Remarks
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();
Remarks
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();
Remarks
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();
Parameters
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:
ImageFormatBMPImagen de mapa de bits sin comprimir.ImageFormatPNGImagen comprimida de gráfico de red portátil (PNG).ImageFormatJPEGUna imagen comprimida JPEG.ImageFormatGIFUna imagen comprimida gif.
Note
Para obtener una lista completa de constantes, consulte Constantes de formato de archivo de imagen en Windows SDK.
Return Value
Un HRESULT estándar.
Remarks
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();
Parameters
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.
Remarks
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();
Parameters
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.
Remarks
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();
Parameters
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();
Parameters
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.
Remarks
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();
Parameters
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.
Return Value
Í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();
Parameters
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.
Return Value
Distinto de cero si se realiza correctamente; de lo contrario, es 0.
Remarks
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();
Parameters
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.
Return Value
TRUE es si se ejecuta correctamente; de lo contrario FALSE, es .
Remarks
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.
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 Muestra
SimpleImage Muestra
Device-Independent Bitmaps
CreateDIBSection
Componentes de escritorio COM de ATL
Device-Independent Bitmaps