Classe de CImage
CImage fornece suporte avançado de bitmap, incluindo a capacidade de salvar e carregar imagens em JPEG, GIF em, no BMP, e os formatos de (PNG) de formato PNG.
Importante
Essa classe e seus membros não podem ser usados em aplicativos executados em tempo de execução do windows.
class CImage
Membros
Construtores public
Nome |
Descrição |
---|---|
o construtor. |
Métodos públicos
Nome |
Descrição |
---|---|
Exibe bitmaps que têm pixels transparentes ou semitransparent. |
|
Anexa HBITMAP a um objeto de CImage . Pode ser usado com bitmaps de bitmaps da seção de não DIB ou da seção de DIB. |
|
Copia um bitmap do contexto do dispositivo de origem para este contexto atual do dispositivo. |
|
Criar um bitmap da seção de DIB e anexá-la ao objeto anteriormente construído de CImage . |
|
Criar um bitmap da seção de DIB (com parâmetros adicionais) e anexa ele para o objeto anteriormente construído de CImage . |
|
Dispara o bitmap do objeto de CImage e destrói o projeto. |
|
Dispara o bitmap de um objeto de CImage . |
|
Copia um bitmap de um retângulo fonte em um retângulo alvo. Desenhar expande ou compacta o bitmap para caber se necessário as dimensões do retângulo alvo, e trata de combinação alfa e cores transparentes. |
|
Recupera um ponteiro para os valores reais de pixel de bitmap. |
|
Recupera os bits por pixel. |
|
Recupera valores vermelho, verde de cor azul, (RGB) de um intervalo de entradas na tabela de cores. |
|
Recupera o contexto de dispositivo em que o projeto atual é selecionado. |
|
Localiza os formatos de imagem disponíveis e suas descrições. |
|
Recupera a altura da imagem em pixels atual. |
|
Localiza os formatos de imagem disponíveis e suas descrições. |
|
Retorna o número máximo de entradas na tabela de cores. |
|
Recupera densidade de imagem atual, em bytes. |
|
Recupera a cor de pixel especificado por x e Y. por. |
|
Recupera o endereço de um pixel dado. |
|
Retorna a posição de cor transparente na tabela de cores. |
|
Obtém a largura da imagem em pixels atual. |
|
Determina se o bitmap anexado é uma seção de DIB. |
|
Indica que as cores de um bitmap são mapeadas para uma paleta indexada. |
|
Indica se um bitmap de origem é carregado no momento. |
|
Indica se o aplicativo suporta bitmaps transparentes e foi criada para o Windows 2000 ou posterior. |
|
Carregar uma imagem do arquivo especificado. |
|
Carregar uma imagem de recursos especificado. |
|
Combina os dados de cor para bitmaps de origem e de destino usando a operação especificada de máscara e de varredura. |
|
Executa uma transferência de bits bloco de um retângulo em um contexto de dispositivo fonte em um paralelogramo em um contexto do dispositivo de destino. |
|
Libera o contexto de dispositivo que foi recuperado com CImage::GetDC. |
|
Libera os recursos usados por GDI+. Deve ser chamado para liberar os recursos criados por um objeto global de CImage . |
|
Salva uma imagem como o tipo especificado. Salvar não pode especificar opções de imagem. |
|
Define valores vermelho, verde azul, de cor RGB) em um intervalo de entradas na tabela de cores da seção de DIB. |
|
Define o pixel nas coordenadas específicas para a cor especificada. |
|
Define o pixel nas coordenadas específicas para a cor no índice especificado de paleta. |
|
Define o pixel nas coordenadas específicas para o valor vermelho, verde, azul especificado de (RGB). |
|
Define o índice de cores ser tratada como transparente. Somente uma cor em uma paleta pode ser transparente. |
|
Copia um bitmap de um retângulo fonte em um retângulo alvo, alongando o bitmap ou compactando para ajustar as dimensões do retângulo alvo, se necessário. |
|
Copia um bitmap com cor transparente do contexto do dispositivo de origem para este contexto atual do dispositivo. |
Operadores públicos
Nome |
Descrição |
---|---|
Retorna o identificador do windows anexada ao objeto de CImage . |
Comentários
CImage leva bitmaps que são seções independentes de (DIB) de bitmap ou não; no entanto, você pode usar Criar ou CImage::Load com apenas seções de DIB. Você pode anexar um bitmap da seção de não DIB a um objeto de CImage usando Anexar, mas depois você não pode usar os seguintes métodos de CImage , que suportam apenas bitmaps da seção de DIB:
Para determinar se um bitmap anexado é uma seção de DIB, chame IsDibSection.
Dica
Observação Em o Visual Studio .NET 2003, essa classe mantém uma contagem do número de objetos de CImage criada.Sempre que o número 0, vá para a função é chamada GdiplusShutdown automaticamente para liberar os recursos usados por GDI+.Isso garante que todos os objetos de CImage criados por DLL direta ou indiretamente sempre serão destruídos corretamente e que GdiplusShutdown não é chamado de DllMain.
Dica
Usar objetos globais de CImage em uma DLL não é recomendada.Se você precisar usar um objeto global de CImage em uma DLL chamada, CImage::ReleaseGDIPlus para definir explicitamente os recursos usados por GDI+.
CImage não pode ser selecionado no novo CDC. CImage criar seu próprio HDC para a imagem. Porque HBITMAP só pode ser selecionado em um HDC de cada vez, HBITMAP associado com CImage não pode ser selecionado em outro HDC. Se você precisar CDC, recuperar HDC de CImage e dê-o a CDC::FromHandle.
Exemplo
// 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();
Quando você usar CImage em um projeto MFC, note que as funções de membro em seu projeto aguardam um ponteiro para um objeto de CBitmap . Se você desejar usar CImage com uma função, como CMenu::AppendMenu, use CBitmap::FromHandle, passe seu CImageHBITMAP, e use **CBitmap***retornado.
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);
}
Com CImage, você tem acesso a bit reais de uma seção de DIB. Você pode usar um objeto de CImage em qualquer lugar que você usou anteriormente Win32 HBITMAP ou a seção de DIB.
Dica
Os seguintes métodos de CImage têm restrições em seu uso:
Método |
Limitação |
---|---|
Works somente com Windows NT 4.0 ou posterior. Não funcionará em aplicativos que executam Windows 95 no /98 ou posterior. |
|
Works somente com Windows NT 4.0 ou posterior. Não funcionará em aplicativos que executam Windows 95 no /98 ou posterior. |
|
Works somente com Windows 2000, Windows 98, e sistemas operacionais posteriores. |
|
Works somente com Windows 2000, Windows 98, e sistemas operacionais posteriores. |
|
Oferece suporte à transparência com apenas Windows 2000, Windows 98, e sistemas operacionais posteriores. |
Consulte Limitações de CImage com sistemas operacionais anteriores para informações mais detalhadas sobre as restrições em esses métodos.
Você pode usar CImage MFC ou de ATL.
Dica
Quando você cria um projeto usando CImage, você deve definir CString antes que você inclua atlimage.h.Se seu projeto usar ATL sem MFC, inclua atlstr.h antes que você inclua atlimage.h.Se seu projeto usar o MFC (ou se é um projeto de ATL com suporte MFC), inclua afxstr.h antes que você inclua atlimage.h.
Também, você deve incluir atlimage.h antes que você inclua atlimpl.cpp.Para fazer isso, inclua facilmente atlimage.h em seu stdafx.h.
Requisitos
Cabeçalho: atlimage.h