Clase CImage
CImage proporciona compatibilidad mejorada del mapa de bits, incluida la capacidad de cargar y guardar imágenes en JPEG, GIF, BMP, y los formatos de (PNG) de gráficos de red de Portable.
Importante |
---|
Esta clase y sus miembros no se pueden utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución. |
class CImage
Members
Constructores públicos
Name |
Descripción |
---|---|
el constructor. |
Métodos públicos
Name |
Descripción |
---|---|
Muestra los mapas de bits que tienen píxeles transparentes o semitransparentes. |
|
Asocia HBITMAP a un objeto de CImage .Se puede utilizar con los mapas de bits de mapas de bits de la sección de no DIB o la sección DIB. |
|
Copia un mapa de bits de contexto del dispositivo de origen a este contexto actual del dispositivo. |
|
Crea un mapa de bits de la sección del archivo DIB y lo asocia al objeto previamente construido de CImage . |
|
Crea un mapa de bits de la sección del archivo DIB (con parámetros adicionales) y lo asocia al objeto previamente construido de CImage . |
|
Desasocia el mapa de bits del objeto de CImage y destruye el mapa de bits. |
|
Desasocia el mapa de bits de un objeto de CImage . |
|
Copia un mapa de bits de un rectángulo de origen en un rectángulo de destino.Dibujo ajusta o comprime el mapa de bits para ajustarse las dimensiones del rectángulo de destino en caso necesario, y controlar la mezcla alfa y colores transparentes. |
|
Recupera un puntero a los valores de píxel de mapa de bits. |
|
Recupera los bits por píxel. |
|
Recupera el rojo, verde, valores de color azul de (RGB) de un intervalo de entradas en la paleta de colores. |
|
Recupera el contexto de dispositivo en el que se selecciona el mapa de bits actual. |
|
Busque los formatos de imágenes disponibles y sus descripciones. |
|
Recupera el alto de la imagen actual en píxeles. |
|
Busque los formatos de imágenes disponibles y sus descripciones. |
|
Recupera el número máximo de entradas en la paleta de colores. |
|
Recupera el paso de la imagen actual, en bytes. |
|
Recupera color de píxel especificado x e y . |
|
Recupera la dirección de un píxel determinado. |
|
Recupera la posición del color transparente en la paleta de colores. |
|
Recupera el ancho de la imagen actual en píxeles. |
|
Determina si el mapa de bits asociado es una sección DIB. |
|
Indica que los colores de un mapa de bits están asignados a una paleta indizada. |
|
Indica si un mapa de bits de origen está cargado actualmente. |
|
Indica si la aplicación admite mapas de bits transparentes y fue compilado para Windows 2000 o posterior. |
|
Carga una imagen del archivo especificado. |
|
Carga una imagen de recursos especificado. |
|
Combina los datos de color de mapas de bits de origen y de destino utilizando la operación especificada de máscara y la trama. |
|
Realiza una transferencia de bloque de bits de un rectángulo en un contexto del dispositivo de origen en un paralelogramo en un contexto del dispositivo de destino. |
|
Libera el contexto del dispositivo que se ha recuperado con CImage::GetDC. |
|
Libera los recursos utilizados por GDI+.Debe llamar a para liberar los recursos creados por un objeto de CImage . |
|
Guarda una imagen como el tipo especificado.Guardar no puede especificar opciones de la imagen. |
|
Establece rojo, verde, los valores de color azul RGB) de un intervalo de entradas en la tabla de colores de la sección DIB. |
|
Establece el píxel en las coordenadas especificadas al color especificado. |
|
Establece el píxel en las coordenadas especificadas al color en el índice especificado de la paleta. |
|
Establece el píxel en las coordenadas especificadas en rojo especificado, verde, azul valor de (RGB). |
|
Establece el índice del color que se tratará como transparente.Sólo un color de una paleta puede ser transparente. |
|
Copia un mapa de bits de un rectángulo de origen en un rectángulo de destino, estirando o comprima el mapa de bits para ajustarse las dimensiones del rectángulo de destino, en caso necesario. |
|
Copia un mapa de bits con un color transparente de contexto del dispositivo de origen a este contexto actual del dispositivo. |
Operadores públicos
Name |
Descripción |
---|---|
Devuelve el identificador de Windows asociado al objeto de CImage . |
Comentarios
CImage toma los mapas de bits que son secciones de (DIB) de mapa de bits independiente del dispositivo o no; sin embargo, puede utilizar cree o CImage::Load con sólo las secciones del archivo DIB.Puede adjuntar un mapa de bits de la sección de no DIB a un objeto de CImage mediante Asociar, pero después no puede utilizar los siguientes métodos de CImage , que solo admiten mapas de bits de la sección del archivo DIB:
Para determinar si un mapa de bits asociado es una sección del archivo DIB, llame a IsDibSection.
[!NOTA]
Note en Visual Studio .NET 2003, esta clase mantiene un recuento del número de objetos de CImage creado.Siempre que el recuento vaya a 0, la función GdiplusShutdown automáticamente se denomina para liberar los recursos utilizados por GDI+.Esto asegura que cualquier objeto de CImage creado directa o indirectamente por los archivos DLL se destruirá siempre correctamente y que GdiplusShutdown no se llama de DllMain.
[!NOTA]
Mediante CImage global los objetos de DLL no se recomienda.Si necesita utilizar un objeto de CImage en un archivo DLL, la llamada CImage:: ReleaseGDIPlus explícitamente para liberar los recursos utilizados por GDI+.
CImage no se puede seleccionar en el nuevo CDC.CImage crea su propio HDC para la imagen.Dado que HBITMAP puede seleccionarse solo en un HDC al mismo tiempo, HBITMAP asociado a CImage no puede seleccionarse en otro HDC.Si necesita CDC, recupere HDC de CImage y darle a CDC::FromHandle.
Ejemplo
// 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 utiliza CImage en un proyecto MFC, la nota que las funciones miembro del proyecto espera recibir un puntero a un objeto de CBitmap .Si desea utilizar CImage con esta función, como CMenu::AppendMenu, el uso CBitmap::FromHandle, para pasar el CImageHBITMAP, y utilizar **CBitmap***devuelto.
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);
}
Con CImage, tiene acceso a los bits reales de una sección DIB.Puede utilizar un objeto de CImage dondequiera que utilizó anteriormente HBITMAP de Win32 o la sección DIB.
[!NOTA]
Los siguientes métodos de CImage tienen limitaciones en el uso:
Método |
Limitación |
---|---|
Trabajos sólo con Windows NT 4.0 o posterior.No funcionará en aplicaciones ejecutándose en Windows 95 /98 o posterior. |
|
Trabajos sólo con Windows NT 4.0 o posterior.No funcionará en aplicaciones ejecutándose en Windows 95 /98 o posterior. |
|
Trabajos sólo con Windows 2000, Windows 98, y sistemas posteriores. |
|
Trabajos sólo con Windows 2000, Windows 98, y sistemas posteriores. |
|
Admite la transparencia solo con Windows 2000, Windows 98, y sistemas posteriores. |
Vea CImage Limitaciones con sistemas operativos anteriores para obtener información detallada sobre las limitaciones de estos métodos.
Puede utilizar CImage MFC o ATL.
[!NOTA]
Cuando se crea un proyecto mediante CImage, debe definir CString antes de que incluye atlimage.h.Si el proyecto usa ATL sin MFC, incluyen atlstr.h antes de que incluye atlimage.h.Si el proyecto utiliza MFC (o si es un proyecto ATL con compatibilidad con MFC), incluya afxstr.h antes de que incluye atlimage.h.
Igualmente, debe incluir atlimage.h antes de que incluye atlimpl.cpp.Para realizarlo fácilmente, incluya atlimage.h en su stdafx.h.
Requisitos
Header: atlimage.h