Compartilhar via


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

CImage::CImage

o construtor.

Métodos públicos

Nome

Descrição

CImage::AlphaBlend

Exibe bitmaps que têm pixels transparentes ou semitransparent.

CImage::Attach

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.

CImage::BitBlt

Copia um bitmap do contexto do dispositivo de origem para este contexto atual do dispositivo.

CImage::Create

Criar um bitmap da seção de DIB e anexá-la ao objeto anteriormente construído de CImage .

CImage::CreateEx

Criar um bitmap da seção de DIB (com parâmetros adicionais) e anexa ele para o objeto anteriormente construído de CImage .

CImage::Destroy

Dispara o bitmap do objeto de CImage e destrói o projeto.

CImage::Detach

Dispara o bitmap de um objeto de CImage .

CImage::Draw

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.

CImage::GetBits

Recupera um ponteiro para os valores reais de pixel de bitmap.

CImage::GetBPP

Recupera os bits por pixel.

CImage::GetColorTable

Recupera valores vermelho, verde de cor azul, (RGB) de um intervalo de entradas na tabela de cores.

CImage::GetDC

Recupera o contexto de dispositivo em que o projeto atual é selecionado.

CImage::GetExporterFilterString

Localiza os formatos de imagem disponíveis e suas descrições.

CImage::GetHeight

Recupera a altura da imagem em pixels atual.

CImage::GetImporterFilterString

Localiza os formatos de imagem disponíveis e suas descrições.

CImage::GetMaxColorTableEntries

Retorna o número máximo de entradas na tabela de cores.

CImage::GetPitch

Recupera densidade de imagem atual, em bytes.

CImage::GetPixel

Recupera a cor de pixel especificado por x e Y. por.

CImage::GetPixelAddress

Recupera o endereço de um pixel dado.

CImage::GetTransparentColor

Retorna a posição de cor transparente na tabela de cores.

CImage::GetWidth

Obtém a largura da imagem em pixels atual.

CImage::IsDIBSection

Determina se o bitmap anexado é uma seção de DIB.

CImage::IsIndexed

Indica que as cores de um bitmap são mapeadas para uma paleta indexada.

CImage::IsNull

Indica se um bitmap de origem é carregado no momento.

CImage::IsTransparencySupported

Indica se o aplicativo suporta bitmaps transparentes e foi criada para o Windows 2000 ou posterior.

CImage::Load

Carregar uma imagem do arquivo especificado.

CImage::LoadFromResource

Carregar uma imagem de recursos especificado.

CImage::MaskBlt

Combina os dados de cor para bitmaps de origem e de destino usando a operação especificada de máscara e de varredura.

CImage::PlgBlt

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.

CImage::ReleaseDC

Libera o contexto de dispositivo que foi recuperado com CImage::GetDC.

CImage::ReleaseGDIPlus

Libera os recursos usados por GDI+. Deve ser chamado para liberar os recursos criados por um objeto global de CImage .

CImage::Save

Salva uma imagem como o tipo especificado. Salvar não pode especificar opções de imagem.

CImage::SetColorTable

Define valores vermelho, verde azul, de cor RGB) em um intervalo de entradas na tabela de cores da seção de DIB.

CImage::SetPixel

Define o pixel nas coordenadas específicas para a cor especificada.

CImage::SetPixelIndexed

Define o pixel nas coordenadas específicas para a cor no índice especificado de paleta.

CImage::SetPixelRGB

Define o pixel nas coordenadas específicas para o valor vermelho, verde, azul especificado de (RGB).

CImage::SetTransparentColor

Define o índice de cores ser tratada como transparente. Somente uma cor em uma paleta pode ser transparente.

CImage::StretchBlt

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.

CImage::TransparentBlt

Copia um bitmap com cor transparente do contexto do dispositivo de origem para este contexto atual do dispositivo.

Operadores públicos

Nome

Descrição

CImage::operator HBITMAP

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

PlgBlt

Works somente com Windows NT 4.0 ou posterior. Não funcionará em aplicativos que executam Windows 95 no /98 ou posterior.

MaskBlt

Works somente com Windows NT 4.0 ou posterior. Não funcionará em aplicativos que executam Windows 95 no /98 ou posterior.

AlphaBlend

Works somente com Windows 2000, Windows 98, e sistemas operacionais posteriores.

TransparentBlt

Works somente com Windows 2000, Windows 98, e sistemas operacionais posteriores.

Desenho

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

Consulte também

Referência

Device-Independent Bitmaps

CreateDIBSection

Conceitos

exemplo de MMXSwarm

exemplo de SimpleImage

Outros recursos

Componentes da área de trabalho COM ATL