Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Encapsula um bitmap da interface gráfica do dispositivo gráfico (GDI) do Windows e fornece funções aos membros para manipular o bitmap.
Sintaxe
class CBitmap : public CGdiObject
Membros
Construtores Públicos
| Nome | Description |
|---|---|
CBitmap::CBitmap |
Constrói um CBitmap objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
CBitmap::CreateBitmap |
Inicializa o objeto com um bitmap de memória dependente do dispositivo, que tem uma largura, altura e padrão de bits especificados. |
CBitmap::CreateBitmapIndirect |
Inicializa o objeto com um bitmap com a largura, altura e padrão de bits (se for especificado) dados numa BITMAP estrutura. |
CBitmap::CreateCompatibleBitmap |
Inicializa o objeto com um bitmap para que seja compatível com um dispositivo especificado. |
CBitmap::CreateDiscardableBitmap |
Inicializa o objeto com um bitmap descartável compatível com um dispositivo especificado. |
CBitmap::FromHandle |
Devolve um ponteiro para um CBitmap objeto quando é atribuído um handle a um bitmap do Windows HBITMAP . |
CBitmap::GetBitmap |
Preenche uma BITMAP estrutura com informação sobre o bitmap. |
CBitmap::GetBitmapBits |
Copia os bits do bitmap especificado para o buffer especificado. |
CBitmap::GetBitmapDimension |
Devolve a largura e a altura do bitmap. Assume-se que a altura e a largura foram previamente definidas pela SetBitmapDimension função elementar. |
CBitmap::LoadBitmap |
Inicializa o objeto carregando um recurso bitmap nomeado a partir do ficheiro executável da aplicação e anexando o bitmap ao objeto. |
CBitmap::LoadMappedBitmap |
Carrega um bitmap e mapeia as cores para as cores atuais do sistema. |
CBitmap::LoadOEMBitmap |
Inicializa o objeto carregando um bitmap pré-definido do Windows e anexando o bitmap ao objeto. |
CBitmap::SetBitmapBits |
Define os bits de um bitmap para os valores de bits especificados. |
CBitmap::SetBitmapDimension |
Atribui largura e altura a um bitmap em unidades de 0,1 milímetros. |
Operadores Públicos
| Nome | Description |
|---|---|
CBitmap::operator HBITMAP |
Devolve a alavanca do Windows ligada ao CBitmap objeto. |
Observações
Para usar um CBitmap objeto, constrói o objeto, anexa-lhe um handle bitmap com uma das funções membros de inicialização e depois chama as funções membros do objeto.
Para mais informações sobre o uso de objetos gráficos como CBitmap, veja Objetos Gráficos.
Hierarquia de herança
CBitmap
Requerimentos
Cabeçalho:afxwin.h
CBitmap::CBitmap
Constrói um CBitmap objeto.
CBitmap();
Observações
O objeto resultante deve ser inicializado com uma das funções membros de inicialização.
CBitmap::CreateBitmap
Inicializa um bitmap de memória dependente do dispositivo que tem a largura, altura e padrão de bits especificados.
BOOL CreateBitmap(
int nWidth,
int nHeight,
UINT nPlanes,
UINT nBitcount,
const void* lpBits);
Parâmetros
nWidth
Especifica a largura (em pixels) do bitmap.
nHeight
Especifica a altura (em pixels) do bitmap.
nPlanes
Especifica o número de planos de cor no bitmap.
nBitcount
Especifica o número de bits de cor por pixel do ecrã.
lpBits
Aponta para um array de bytes que contém os valores iniciais do bitmap. Se for NULL, o novo bitmap fica por inicializar.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Para um bitmap de cores, o nPlanes parâmetro ou nBitcount deve ser definido como 1. Se ambos os parâmetros estiverem definidos para 1, CreateBitmap cria-se um bitmap monocromático.
Embora um bitmap não possa ser selecionado diretamente para um dispositivo de visualização, pode ser selecionado como o bitmap atual para um "contexto de dispositivo de memória" usando CDC::SelectObject e copiado para qualquer contexto compatível de dispositivo através da CDC::BitBlt função.
Quando terminares com o CBitmap objeto criado pela CreateBitmap função, primeiro seleciona o bitmap fora do contexto do dispositivo e depois elimina o CBitmap objeto.
Para mais informações, consulte a descrição do bmBits campo na BITMAP estrutura. A BITMAP estrutura é descrita sob a CBitmap::CreateBitmapIndirect função membro.
CBitmap::CreateBitmapIndirect
Inicializa um bitmap que tem a largura, altura e padrão de bits (se for especificado) dados na estrutura apontada por lpBitmap.
BOOL CreateBitmapIndirect(LPBITMAP lpBitmap);
Parâmetros
lpBitmap
Aponta para uma BITMAP estrutura que contém informação sobre o bitmap.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Embora um bitmap não possa ser selecionado diretamente para um dispositivo de visualização, pode ser selecionado como o bitmap atual para o contexto de um dispositivo de memória usando CDC::SelectObject e copiado para qualquer contexto compatível de dispositivo usando a CDC::BitBlt função ou CDC::StretchBlt . (A CDC::PatBlt função pode copiar o bitmap do pincel atual diretamente para o contexto do dispositivo de visualização.)
Se a BITMAP estrutura apontada pelo lpBitmap parâmetro foi preenchida usando a GetObject função, os bits do bitmap não são especificados e o bitmap não está inicializado. Para inicializar o bitmap, uma aplicação pode usar uma função como CDC::BitBlt ou SetDIBits para copiar os bits do bitmap identificado pelo primeiro parâmetro de CGdiObject::GetObject para o bitmap criado por CreateBitmapIndirect.
Quando terminares com o CBitmap objeto criado com CreateBitmapIndirect função, primeiro seleciona o bitmap fora do contexto do dispositivo e depois elimina o CBitmap objeto.
CBitmap::CreateCompatibleBitmap
Inicializa um bitmap compatível com o dispositivo especificado por pDC.
BOOL CreateCompatibleBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Parâmetros
pDC
Especifica o contexto do dispositivo.
nWidth
Especifica a largura (em pixels) do bitmap.
nHeight
Especifica a altura (em pixels) do bitmap.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
O bitmap tem o mesmo número de planos de cor ou o mesmo formato de bits por píxel que o contexto especificado do dispositivo. Pode ser selecionado como bitmap atual para qualquer dispositivo de memória compatível com o especificado por pDC.
Se pDC for um contexto de dispositivo de memória, o bitmap devolvido tem o mesmo formato que o bitmap atualmente selecionado nesse contexto do dispositivo. Um "contexto de dispositivo de memória" é um bloco de memória que representa uma superfície de visualização. Pode ser usado para preparar imagens na memória antes de as copiar para a superfície de ecrã real do dispositivo compatível.
Quando um contexto de dispositivo de memória é criado, o GDI seleciona automaticamente um bitmap monocromático stock para ele.
Como o contexto de um dispositivo de memória de cor pode ter bitmaps de cor ou monocromáticos selecionados, o formato do bitmap devolvido pela CreateCompatibleBitmap função nem sempre é o mesmo; no entanto, o formato de um bitmap compatível para um contexto de dispositivo sem memória está sempre no formato do dispositivo.
Quando terminares com o CBitmap objeto criado com a CreateCompatibleBitmap função, primeiro seleciona o bitmap fora do contexto do dispositivo e depois elimina o CBitmap objeto.
CBitmap::CreateDiscardableBitmap
Inicializa um bitmap descartável que seja compatível com o contexto do dispositivo identificado por pDC.
BOOL CreateDiscardableBitmap(
CDC* pDC,
int nWidth,
int nHeight);
Parâmetros
pDC
Especifica o contexto de um dispositivo.
nWidth
Especifica a largura (em bits) do bitmap.
nHeight
Especifica a altura (em bits) do bitmap.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
O bitmap tem o mesmo número de planos de cor ou o mesmo formato de bits por píxel que o contexto especificado do dispositivo. Uma aplicação pode selecionar este bitmap como o bitmap atual para um dispositivo de memória compatível com o especificado por pDC.
O Windows só pode descartar um bitmap criado por esta função se uma aplicação não o tiver selecionado para um contexto de visualização. Se o Windows descartar o bitmap quando este não está selecionado e a aplicação tentar posteriormente selecioná-lo, a CDC::SelectObject função devolverá NULL.
Quando terminares com o CBitmap objeto criado com a CreateDiscardableBitmap função, primeiro seleciona o bitmap fora do contexto do dispositivo e depois elimina o CBitmap objeto.
CBitmap::FromHandle
Devolve um ponteiro para um CBitmap objeto quando recebe um handle para um bitmap do Windows GDI.
static CBitmap* PASCAL FromHandle(HBITMAP hBitmap);
Parâmetros
hBitmap
Especifica um bitmap GDI do Windows.
Valor de retorno
Um ponteiro para um CBitmap objeto, se bem-sucedido, caso contrário NULL.
Observações
Se um CBitmap objeto não estiver já ligado à pega, um objeto temporário CBitmap é criado e anexado. Este objeto temporário CBitmap é válido apenas até à próxima vez que a aplicação tiver tempo de inatividade no seu ciclo de eventos, altura em que todos os objetos gráficos temporários são eliminados. Outra forma de dizer isto é que o objeto temporário só é válido durante o processamento de uma mensagem de janela.
CBitmap::GetBitmap
Recupera as propriedades da imagem para o bitmap anexado.
int GetBitmap(BITMAP* pBitMap);
Parâmetros
pBitMap
Apontar para uma BITMAP estrutura que irá receber as propriedades da imagem. Este parâmetro não deve ser NULL.
Valor de retorno
Não nulo se o método fosse bem-sucedido; caso contrário, 0.
Observações
CBitmap::GetBitmapBits
Copia o padrão de bits do bitmap associado para o buffer especificado.
DWORD GetBitmapBits(
DWORD dwCount,
LPVOID lpBits) const;
Parâmetros
dwCount
O número de bytes a copiar para o buffer.
lpBits
Aponta para o buffer que irá receber o bitmap.
Valor de retorno
O número de bytes copiados para o buffer se o método fosse bem-sucedido; caso contrário, 0.
Observações
Use CBitmap::GetBitmap para determinar o tamanho do buffer necessário.
CBitmap::GetBitmapDimension
Devolve a largura e a altura do bitmap.
CSize GetBitmapDimension() const;
Valor de retorno
A largura e altura do bitmap, medidas em unidades de 0,1 milímetros. A altura está no cy elemento do CSize objeto, e a largura está no cx membro. Se a largura e altura do bitmap não forem definidas usando SetBitmapDimension, o valor de retorno é 0.
Observações
Assume-se que a altura e a largura foram definidas anteriormente usando a SetBitmapDimension função elemento.
CBitmap::LoadBitmap
Carrega o recurso bitmap nomeado por lpszResourceName ou identificado pelo número ID a nIDResource partir do ficheiro executável da aplicação.
BOOL LoadBitmap(LPCTSTR lpszResourceName);
BOOL LoadBitmap(UINT nIDResource);
Parâmetros
lpszResourceName
Aponta para uma cadeia terminada por null que contém o nome do recurso bitmap.
nIDResource
Especifica o número de ID do recurso do bitmap.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
O bitmap carregado está associado ao CBitmap objeto.
Se o bitmap identificado por lpszResourceName não existir ou se houver memória insuficiente para carregar o bitmap, a função devolve 0.
Podes usar a CGdiObject::DeleteObject função para eliminar bitmap carregado pela LoadBitmap função, ou o CBitmap destruidor apaga o objeto por ti.
Atenção
Antes de apagares o objeto, certifica-te de que não está selecionado para o contexto de um dispositivo.
Os seguintes bitmaps foram adicionados às versões 3.1 e posteriores do Windows:
OBM_UPARRROWIOBM_DNARROWIOBM_RGARROWIOBM_LFARROWI
Estes bitmaps não se encontram nos drivers de dispositivos para versões 3.0 do Windows e anteriores. Para uma lista completa de bitmaps e uma visualização da sua aparência, consulte o SDK do Windows.
CBitmap::LoadMappedBitmap
Chame esta função membro para carregar um bitmap e mapear as cores para as cores atuais do sistema.
BOOL LoadMappedBitmap(
UINT nIDBitmap,
UINT nFlags = 0,
LPCOLORMAP lpColorMap = NULL,
int nMapSize = 0);
Parâmetros
nIDBitmap
O ID do recurso bitmap.
nFlags
Uma bandeira para um bitmap. Pode ser zero ou CMB_MASKED.
lpColorMap
Um ponteiro para uma COLORMAP estrutura que contém a informação de cor necessária para mapear os bitmaps. Se este parâmetro for NULL, a função usa o mapa de cores padrão.
nMapSize
O número de mapas de cor apontado por lpColorMap.
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Por defeito, LoadMappedBitmap irá mapear as cores comumente usadas em glifos de botões.
Para informações sobre como criar um bitmap mapeado, veja a função CreateMappedBitmap do Windows e a COLORMAP estrutura no SDK do Windows.
CBitmap::LoadOEMBitmap
Carrega um bitmap pré-definido usado pelo Windows.
BOOL LoadOEMBitmap(UINT nIDBitmap);
Parâmetros
nIDBitmap
Número ID do bitmap pré-definido do Windows. Os valores possíveis estão listados abaixo a partir de WINDOWS.H:
OBM_BTNCORNERS
OBM_BTSIZE
OBM_CHECK
OBM_CHECKBOXES
OBM_CLOSE
OBM_COMBO
OBM_DNARROW
OBM_DNARROWD
OBM_DNARROWI
OBM_LFARROW
OBM_LFARROWD
OBM_LFARROWI
OBM_MNARROW
OBM_OLD_CLOSE
OBM_OLD_DNARROW
OBM_OLD_LFARROW
OBM_OLD_REDUCE
OBM_OLD_RESTORE
OBM_OLD_RGARROW
OBM_OLD_UPARROW
OBM_OLD_ZOOM
OBM_REDUCE
OBM_REDUCED
OBM_RESTORE
OBM_RESTORED
OBM_RGARROW
OBM_RGARROWD
OBM_RGARROWI
OBM_SIZE
OBM_UPARROW
OBM_UPARROW
OBM_UPARROWD
OBM_ZOOM
OBM_ZOOMD
Valor de retorno
Não nulo se for bem-sucedido; caso contrário, 0.
Observações
Os nomes de bitmaps que começam por OBM_OLD representam bitmaps usados pelas versões do Windows anteriores à 3.0.
Note-se que a constante OEMRESOURCE deve ser definida antes de incluir WINDOWS.H para poder usar qualquer uma das OBM_ constantes.
CBitmap::operator HBITMAP
Use este operador para obter o handle Windows GDI associado do CBitmap objeto.
operator HBITMAP() const;
Valor de retorno
Se for bem-sucedido, um handle para o objeto Windows GDI representado pelo CBitmap objeto; caso contrário NULL.
Observações
Este operador é um operador de casting, que suporta o uso direto de um HBITMAP objeto.
Para mais informações sobre o uso de objetos gráficos, consulte Objetos Gráficos no SDK do Windows.
CBitmap::SetBitmapBits
Define os bits de um bitmap para os valores de bits dados por lpBits.
DWORD SetBitmapBits(
DWORD dwCount,
const void* lpBits);
Parâmetros
dwCount
Especifica o número de bytes apontados por lpBits.
lpBits
Aponta para o BYTE array que contém os valores dos píxeis a serem copiados para o CBitmap objeto. Para que o bitmap consiga renderizar corretamente a sua imagem, os valores devem ser formatados de acordo com os valores de altura, largura e profundidade de cor especificados quando a CBitmap instância foi criada. Para obter mais informações, consulte CBitmap::CreateBitmap.
Valor de retorno
O número de bytes usados na definição dos bits bitmap; 0 se a função falhar.
CBitmap::SetBitmapDimension
Atribui largura e altura a um bitmap em unidades de 0,1 milímetros.
CSize SetBitmapDimension(
int nWidth,
int nHeight);
Parâmetros
nWidth
Especifica a largura do bitmap (em unidades de 0,1 milímetros).
nHeight
Especifica a altura do bitmap (em unidades de 0,1 milímetros).
Valor de retorno
As dimensões do bitmap anterior. A altura está na cy variável membro do CSize objeto, e a largura está na cx variável elemento.
Observações
O GDI não utiliza estes valores exceto para os devolver quando uma aplicação chama a GetBitmapDimension função membro.