Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
CImage fornece suporte aprimorado a bitmaps, incluindo a capacidade de carregar e salvar imagens nos formatos JPEG, GIF, BMP e PNG (Portable Network Graphics).
Important
Essa classe e seus membros não podem ser usados em aplicativos executados no Tempo de Execução do Windows.
Syntax
class CImage
Members
Public Constructors
| Name | Description |
|---|---|
CImage::CImage |
The constructor. |
Public Methods
| Name | Description |
|---|---|
CImage::AlphaBlend |
Exibe bitmaps com pixels transparentes ou semitransparentes. |
CImage::Attach |
Anexa um HBITMAP a um CImage objeto. Pode ser usado com bitmaps de seção não-DIB ou bitmaps de seção DIB. |
CImage::BitBlt |
Copia um bitmap do contexto do dispositivo de origem para esse contexto de dispositivo atual. |
CImage::Create |
Cria um bitmap de seção DIB e o anexa ao objeto construído CImage anteriormente. |
CImage::CreateEx |
Cria um bitmap de seção DIB (com parâmetros adicionais) e o anexa ao objeto construído CImage anteriormente. |
CImage::Destroy |
Desanexa o CImage bitmap do objeto e destrói o bitmap. |
CImage::Detach |
Desanexa o bitmap de um CImage objeto. |
CImage::Draw |
Copia um bitmap de um retângulo de origem para um retângulo de destino.
Draw Estende ou compacta o bitmap para se ajustar às dimensões do retângulo de destino, se necessário, e manipula a mistura alfa e cores transparentes. |
CImage::GetBits |
Recupera um ponteiro para os valores reais de pixel do bitmap. |
CImage::GetBPP |
Recupera os bits por pixel. |
CImage::GetColorTable |
Recupera valores de cor vermelho, verde, azul (RGB) de um intervalo de entradas na tabela de cores. |
CImage::GetDC |
Recupera o contexto do dispositivo no qual o bitmap atual está selecionado. |
CImage::GetExporterFilterString |
Encontra os formatos de imagem disponíveis e suas descrições. |
CImage::GetHeight |
Recupera a altura da imagem atual em pixels. |
CImage::GetImporterFilterString |
Encontra os formatos de imagem disponíveis e suas descrições. |
CImage::GetMaxColorTableEntries |
Recupera o número máximo de entradas na tabela de cores. |
CImage::GetPitch |
Recupera o tom da imagem atual, em bytes. |
CImage::GetPixel |
Recupera a cor do pixel especificado por x e y. |
CImage::GetPixelAddress |
Recupera o endereço de um determinado pixel. |
CImage::GetTransparentColor |
Recupera a posição da cor transparente na tabela de cores. |
CImage::GetWidth |
Recupera a largura da imagem atual em pixels. |
CImage::IsDIBSection |
Determina se o bitmap anexado é uma seção 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 está carregado no momento. |
CImage::IsTransparencySupported |
Indica se o aplicativo oferece suporte a bitmaps transparentes. |
CImage::Load |
Carrega uma imagem do arquivo especificado. |
CImage::LoadFromResource |
Carrega uma imagem do recurso especificado. |
CImage::MaskBlt |
Combina os dados de cor para os bitmaps de origem e destino usando a máscara especificada e a operação raster. |
CImage::PlgBlt |
Executa uma transferência de bloco de bits de um retângulo em um contexto de dispositivo de origem para um paralelogramo em um contexto de dispositivo de destino. |
CImage::ReleaseDC |
Libera o contexto do dispositivo que foi recuperado com CImage::GetDCo . |
CImage::ReleaseGDIPlus |
Libera recursos usados pelo GDI+. Deve ser chamado para liberar recursos criados por um objeto global CImage . |
CImage::Save |
Salva uma imagem como o tipo especificado.
Save Não é possível especificar opções de imagem. |
CImage::SetColorTable |
Define valores de cor RGB vermelho, verde, azul em um intervalo de entradas na tabela de cores da seção DIB. |
CImage::SetPixel |
Define o pixel nas coordenadas especificadas para a cor especificada. |
CImage::SetPixelIndexed |
Define o pixel nas coordenadas especificadas como a cor no índice especificado da paleta. |
CImage::SetPixelRGB |
Define o pixel nas coordenadas especificadas para o valor especificado vermelho, verde, azul (RGB). |
CImage::SetTransparentColor |
Define o índice da cor a ser tratada como transparente. Apenas uma cor em uma paleta pode ser transparente. |
CImage::StretchBlt |
Copia um bitmap de um retângulo de origem para um retângulo de destino, esticando ou compactando o bitmap para ajustar as dimensões do retângulo de destino, se necessário. |
CImage::TransparentBlt |
Copia um bitmap com cor transparente do contexto do dispositivo de origem para esse contexto de dispositivo atual. |
Public Operators
| Name | Description |
|---|---|
CImage::operator HBITMAP |
Retorna o identificador do Windows anexado CImage ao objeto. |
Remarks
CImage usa bitmaps que são seções de bitmap independentes do dispositivo (DIB) ou não; no entanto, você pode usar Create ou CImage::Load com apenas seções DIB. Você pode anexar um bitmap de seção não-DIB a um CImage objeto usando Attach, mas não pode usar os seguintes CImage métodos, que suportam apenas bitmaps de seção DIB:
Para determinar se um bitmap anexado é uma seção DIB, chame IsDibSection.
Note
No Visual Studio .NET 2003, essa classe mantém uma contagem do número de CImage objetos criados. Sempre que a contagem vai para 0, a função GdiplusShutdown é automaticamente chamada para liberar recursos usados pelo GDI+. Isso garante que todos os CImage objetos criados direta ou indiretamente por DLLs sejam sempre destruídos corretamente e que GdiplusShutdown não sejam chamados de DllMain.
Note
O uso de objetos globais CImage em uma DLL não é recomendado. Se você precisar usar um objeto global CImage em uma DLL, chame CImage::ReleaseGDIPlus para liberar explicitamente os recursos usados pelo GDI+.
CImage não pode ser selecionado em um novo CDCarquivo .
CImage cria o seu próprio HDC para a imagem. Como um HBITMAP só pode ser selecionado em um HDC de cada vez, o HBITMAP associado com o CImage não pode ser selecionado em outro HDC. Se você precisar de um CDC, recupere o CImageHDC do e dê-lo para 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();
Quando você usa CImage em um projeto MFC, observe quais funções de membro em seu projeto esperam um ponteiro para um CBitmap objeto. Se você quiser usar CImage com tal função, comoCMenu::AppendMenu, use, passe CBitmap::FromHandleo seu, e use o devolvidoHBITMAPCImageCBitmap*.
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);
}
Através CImagedo , você tem acesso aos bits reais de uma seção DIB. Você pode usar um CImage objeto em qualquer lugar que você usou anteriormente uma seção Win32 HBITMAP ou DIB.
Você pode usar CImage a partir de MFC ou ATL.
Note
Ao criar um projeto usando CImageo , você deve definir CString antes de incluir atlimage.ho . Se o seu projeto usa ATL sem MFC, inclua atlstr.h antes de incluir atlimage.h. Se o seu projeto usa MFC (ou se é um projeto ATL com suporte MFC), inclua afxstr.h antes de incluir atlimage.h.
Da mesma forma, você deve incluir atlimage.h antes de incluir atlimpl.cpp. Para fazer isso facilmente, inclua atlimage.h no seu pch.h (stdafx.h no Visual Studio 2017 e anteriores).
Requirements
Header:atlimage.h
CImage::AlphaBlend
Exibe bitmaps com pixels transparentes ou 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
Manipule o contexto do dispositivo de destino.
xDest
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
yDest
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
bSrcAlpha
Um valor de transparência alfa a ser usado em todo o bitmap de origem. A 0xff padrão (255) pressupõe que sua imagem é opaca e que você deseja usar apenas valores alfa por pixel.
bBlendOp
A função de mistura alfa para bitmaps de origem e destino, um valor alfa global a ser aplicado a todo o bitmap de origem e informações de formato para o bitmap de origem. As funções de mesclagem de origem e destino estão atualmente limitadas a AC_SRC_OVER.
pointDest
Uma referência a uma POINT estrutura que identifica o canto superior esquerdo do retângulo de destino, em unidades lógicas.
nDestWidth
A largura, em unidades lógicas, do retângulo de destino.
nDestHeight
A altura, em unidades lógicas, do retângulo de destino.
xSrc
A coordenada x lógica do canto superior esquerdo do retângulo de origem.
ySrc
A coordenada y lógica do canto superior esquerdo do retângulo de origem.
nSrcWidth
A largura, em unidades lógicas, do retângulo de origem.
nSrcHeight
A altura, em unidades lógicas, do retângulo da fonte.
rectDest
Uma referência a uma RECT estrutura, identificando o destino.
rectSrc
Uma referência a uma RECT estrutura, identificando a fonte.
Return Value
Diferente de zero se for bem-sucedido; caso contrário, 0.
Remarks
Os bitmaps de mesclagem alfa suportam a mistura de cores por pixel.
Quando bBlendOp é definido como o padrão de , o bitmap de origem é colocado sobre o bitmap de AC_SRC_OVERdestino com base nos valores alfa dos pixels de origem.
CImage::Attach
Anexa-se hBitmap a um CImage objeto.
void Attach(HBITMAP hBitmap, DIBOrientation eOrientation = DIBOR_DEFAULT) throw();
Parameters
hBitmap
Uma alça para um HBITMAParquivo .
eOrientation
Especifica a orientação do bitmap. Pode ser um dos seguintes:
DIBOR_DEFAULTA orientação do bitmap é determinada pelo sistema operacional.DIBOR_BOTTOMUPAs linhas do bitmap estão em ordem inversa. Isso faz com queCImage::GetBitsretorne um ponteiro perto do final do buffer de bitmap eCImage::GetPitchretorne um número negativo.DIBOR_TOPDOWNAs linhas do bitmap estão na ordem de cima para baixo. Isso faz com queCImage::GetBitsretorne um ponteiro para o primeiro byte do buffer de bitmap eCImage::GetPitchretorne um número positivo.
Remarks
O bitmap pode ser um bitmap de seção não-DIB ou um bitmap de seção DIB. Consulte IsDIBSection para obter uma lista de métodos que você pode usar somente com bitmaps de seção DIB.
CImage::BitBlt
Copia um bitmap do contexto do dispositivo de origem para esse contexto de dispositivo atual.
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
O destino HDC.
xDest
A coordenada x lógica do canto superior esquerdo do retângulo de destino.
yDest
A coordenada y lógica do canto superior esquerdo do retângulo de destino.
dwROP
A operação raster a ser executada. Os códigos de operação raster definem exatamente como combinar os bits da origem, do destino e do padrão (conforme definido pelo pincel selecionado no momento) para formar o destino. Consulte BitBlt no SDK do Windows para obter uma lista de outros códigos de operação de raster e suas descrições.
pointDest
Uma POINT estrutura que indica o canto superior esquerdo do retângulo de destino.
nDestWidth
A largura, em unidades lógicas, do retângulo de destino.
nDestHeight
A altura, em unidades lógicas, do retângulo de destino.
xSrc
A coordenada x lógica do canto superior esquerdo do retângulo de origem.
ySrc
A coordenada y lógica do canto superior esquerdo do retângulo de origem.
rectDest
Uma RECT estrutura que indica o retângulo de destino.
pointSrc
Uma POINT estrutura que indica o canto superior esquerdo do retângulo de origem.
Return Value
Diferente de zero se for bem-sucedido; caso contrário, zero.
Remarks
Para obter mais informações, consulte BitBlt no SDK do Windows.
CImage::CImage
Constrói um objeto CImage.
CImage() throw();
Remarks
Depois de construir o objeto, chame Create, Load, LoadFromResourceou Attach anexe um bitmap ao objeto.
Observação No Visual Studio, essa classe mantém uma contagem do número de CImage objetos criados. Sempre que a contagem vai para 0, a função GdiplusShutdown é automaticamente chamada para liberar recursos usados pelo GDI+. Isso garante que quaisquer CImage objetos criados direta ou indiretamente por DLLs são sempre destruídos corretamente e que GdiplusShutdown não é chamado de DllMain.
O uso de objetos globais CImage em uma DLL não é recomendado. Se você precisar usar um objeto global CImage em uma DLL, chame CImage::ReleaseGDIPlus para liberar explicitamente os recursos usados pelo GDI+.
CImage::Create
Cria um CImage bitmap e o anexa ao objeto construído CImage anteriormente.
BOOL Create(
int nWidth,
int nHeight,
int nBPP,
DWORD dwFlags = 0) throw();
Parameters
nWidth
A largura do CImage bitmap, em pixels.
nHeight
A altura do CImage bitmap, em pixels. Se nHeight for positivo, o bitmap é um DIB de baixo para cima e sua origem é o canto inferior esquerdo. Se nHeight for negativo, o bitmap é um DIB de cima para baixo e sua origem é o canto superior esquerdo.
nBPP
O número de bits por pixel no bitmap. Geralmente 4, 8, 16, 24 ou 32. Pode ser 1 para bitmaps ou máscaras monocromáticos.
dwFlags
Especifica se o objeto bitmap tem um canal alfa. Pode ser uma combinação de zero ou mais dos seguintes valores:
-
createAlphaChannelSó pode ser usado senBPPfor 32, eeCompressionéBI_RGB. Se especificado, a imagem criada tem um valor alfa (transparência) para cada pixel, armazenado no 4º byte de cada pixel (não utilizado em uma imagem de 32 bits não alfa). Este canal alfa é usado automaticamente ao chamarCImage::AlphaBlend.
Note
Nas chamadas para CImage::Drawo , as imagens com um canal alfa são automaticamente misturadas alfa ao destino.
Return Value
Diferente de zero se for bem-sucedido; caso contrário, 0.
CImage::CreateEx
Cria um CImage bitmap e o anexa ao objeto construído CImage anteriormente.
BOOL CreateEx(
int nWidth,
int nHeight,
int nBPP,
DWORD eCompression,
const DWORD* pdwBitmasks = NULL,
DWORD dwFlags = 0) throw();
Parameters
nWidth
A largura do CImage bitmap, em pixels.
nHeight
A altura do CImage bitmap, em pixels. Se nHeight for positivo, o bitmap é um DIB de baixo para cima e sua origem é o canto inferior esquerdo. Se nHeight for negativo, o bitmap é um DIB de cima para baixo e sua origem é o canto superior esquerdo.
nBPP
O número de bits por pixel no bitmap. Geralmente 4, 8, 16, 24 ou 32. Pode ser 1 para bitmaps ou máscaras monocromáticos.
eCompression
Especifica o tipo de compactação para um bitmap compactado de baixo para cima (DIBs de cima para baixo não podem ser compactados). Pode ser um dos seguintes valores:
BI_RGBO formato é descompactado. Especificar esse valor ao chamarCImage::CreateExé equivalente a chamarCImage::Create.BI_BITFIELDSO formato é descompactado e a tabela de cores consiste em trêsDWORDmáscaras de cores que especificam os componentes vermelho, verde e azul, respectivamente, de cada pixel. Isso é válido quando usado com bitmaps de 16 e 32 bpp.
pdwBitfields
Usado apenas se eCompression estiver definido como BI_BITFIELDS, caso contrário, deve ser NULL. Um ponteiro para uma matriz de três DWORD máscaras de bits, especificando quais bits de cada pixel são usados para os componentes vermelho, verde e azul da cor, respectivamente. Para obter informações sobre restrições para os campos de bits, consulte BITMAPINFOHEADER no SDK do Windows.
dwFlags
Especifica se o objeto bitmap tem um canal alfa. Pode ser uma combinação de zero ou mais dos seguintes valores:
createAlphaChannelSó pode ser usado senBPPfor 32, eeCompressionéBI_RGB. Se especificado, a imagem criada tem um valor alfa (transparência) para cada pixel, armazenado no 4º byte de cada pixel (não utilizado em uma imagem de 32 bits não alfa). Este canal alfa é usado automaticamente ao chamarCImage::AlphaBlend.Note
Nas chamadas para
CImage::Drawo , as imagens com um canal alfa são automaticamente misturadas alfa ao destino.
Return Value
TRUE se for bem-sucedido. Caso contrário, FALSE.
Example
O exemplo a seguir cria um bitmap de 100x100 pixels, usando 16 bits para codificar cada pixel. Em um determinado pixel de 16 bits, os bits 0-3 codificam o componente vermelho, os bits 4-7 codificam verde e os bits 8-11 codificam azul. Os restantes 4 bits não são utilizados.
DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);
CImage::Destroy
Desanexa o CImage bitmap do objeto e destrói o bitmap.
void Destroy() throw();
CImage::Detach
Desanexa um bitmap de um CImage objeto.
HBITMAP Detach() throw();
Return Value
Um identificador para o bitmap desanexado ou NULL se nenhum bitmap estiver anexado.
CImage::Draw
Copia um bitmap do contexto do dispositivo de origem para o contexto do dispositivo atual.
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
Um identificador para o contexto do dispositivo de destino.
xDest
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
yDest
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
nDestWidth
A largura, em unidades lógicas, do retângulo de destino.
nDestHeight
A altura, em unidades lógicas, do retângulo de destino.
xSrc
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
ySrc
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
nSrcWidth
A largura, em unidades lógicas, do retângulo de origem.
nSrcHeight
A altura, em unidades lógicas, do retângulo da fonte.
rectDest
Uma referência a uma RECT estrutura, identificando o destino.
rectSrc
Uma referência a uma RECT estrutura, identificando a fonte.
pointDest
Uma referência a uma POINT estrutura que identifica o canto superior esquerdo do retângulo de destino, em unidades lógicas.
Return Value
Diferente de zero se for bem-sucedido; caso contrário, 0.
Remarks
Draw Executa a mesma operação que StretchBlt, a menos que a imagem contenha uma cor transparente ou um canal alfa. Nesse caso, Draw executa a mesma operação que qualquer um ou AlphaBlendTransparentBlt conforme necessário.
Para versões que não especificam um retângulo de origem, toda a imagem de Draw origem é o padrão. Para a versão que não especifica um tamanho para o retângulo de Draw destino, o tamanho da imagem de origem é o padrão e nenhum alongamento ou encolhimento ocorre.
CImage::GetBits
Recupera um ponteiro para os valores de bit reais de um determinado pixel em um bitmap.
void* GetBits() throw();
Return Value
Um ponteiro para o buffer de bitmap. Se o bitmap for um DIB de baixo para cima, o ponteiro aponta perto do final do buffer. Se o bitmap for um DIB de cima para baixo, o ponteiro apontará para o primeiro byte do buffer.
Remarks
Usando esse ponteiro, juntamente com o valor retornado pelo GetPitch, você pode localizar e alterar pixels individuais em uma imagem.
Note
Este método suporta apenas bitmaps de seção DIB; consequentemente, você acessa os pixels de um CImage objeto da mesma forma que acessaria os pixels de uma seção DIB. O ponteiro retornado aponta para o pixel no local (0, 0).
CImage::GetBPP
Recupera o valor de bits por pixel.
int GetBPP() const throw();
Return Value
O número de bits por pixel.
Remarks
Esse valor determina o número de bits que definem cada pixel e o número máximo de cores no bitmap.
Os bits por pixel são geralmente 1, 4, 8, 16, 24 ou 32. Consulte o biBitCount membro do SDK do BITMAPINFOHEADER Windows para obter mais informações sobre esse valor.
CImage::GetColorTable
Recupera valores de cor vermelho, verde, azul (RGB) de um intervalo de entradas na paleta da seção DIB.
void GetColorTable(
UINT iFirstColor,
UINT nColors,
RGBQUAD* prgbColors) const throw();
Parameters
iFirstColor
O índice da tabela de cores da primeira entrada a ser recuperada.
nColors
O número de entradas da tabela de cores a serem recuperadas.
prgbColors
Um ponteiro para a matriz de estruturas para recuperar as entradas da tabela de RGBQUAD cores.
CImage::GetDC
Recupera o contexto do dispositivo que atualmente tem a imagem selecionada nele.
HDC GetDC() const throw();
Return Value
Um identificador para um contexto de dispositivo.
Remarks
Para cada chamada para GetDC, você deve ter uma chamada subsequente para ReleaseDC.
CImage::GetExporterFilterString
Localiza formatos de imagem disponíveis para salvar imagens.
static HRESULT GetExporterFilterString(
CSimpleString& strExporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultSave,
TCHAR chSeparator = _T('|'));
Parameters
strExporters
Uma referência a um objeto CSimpleString. Consulte Comentários para obter mais informações.
aguidFileTypes
Uma matriz de GUIDs, com cada elemento correspondendo a um dos tipos de arquivo na cadeia de caracteres. No exemplo abaixo pszAllFilesDescription , aguidFileTypes[0] is GUID_NULL e os valores de matriz restantes são os formatos de arquivo de imagem suportados pelo sistema operacional atual.
Note
Para obter uma lista completa de constantes, consulte Constantes de formato de arquivo de imagem no SDK do Windows.
pszAllFilesDescription
Se esse parâmetro não NULLfor , a cadeia de caracteres de filtro terá um filtro adicional no início da lista. Este filtro terá o valor atual de para sua descrição e aceita arquivos de qualquer extensão suportada pszAllFilesDescription por qualquer outro exportador na 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 sinalizadores de bits especificando quais tipos de arquivo devem ser excluídos da lista. As bandeiras permitidas são:
excludeGIF= 0x01 Exclui arquivos GIF.excludeBMP= 0x02 Exclui arquivos BMP (Bitmap do Windows).excludeEMF= 0x04 Exclui ficheiros EMF (Enhanced Metafile).excludeWMF= 0x08 Exclui arquivos WMF (metarquivo do Windows).excludeJPEG= 0x10 Exclui ficheiros JPEG.excludePNG= 0x20 Exclui arquivos PNG.excludeTIFF= 0x40 Exclui arquivos TIFF.excludeIcon= 0x80 Exclui arquivos ICO (ícone do Windows).excludeOther= 0x80000000 Exclui qualquer outro tipo de ficheiro não listado acima.excludeDefaultLoad= 0 Para carga, todos os tipos de arquivo são incluídos por padrãoexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFPara salvar, esses arquivos são excluídos por padrão porque geralmente têm requisitos especiais.
chSeparator
O separador usado entre os formatos de imagem. Consulte Comentários para obter mais informações.
Return Value
Um padrão HRESULT.
Remarks
Você pode passar a cadeia de caracteres de formato resultante para seu objeto MFC CFileDialog para expor as extensões de arquivo dos formatos de imagem disponíveis na caixa de diálogo Salvar arquivo como.
O parâmetro strExporter tem o formato:
file description 0|*.ext0|file description 1|*.ext1|...file description N|*.extN||
onde | é o caractere separador especificado por chSeparator. For example:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Use o separador | padrão se você passar essa cadeia de caracteres para um objeto MFC CFileDialog . Use o separador '\0' nulo se você passar essa cadeia de caracteres para uma caixa de diálogo comum Salvar arquivo.
CImage::GetHeight
Recupera a altura, em pixels, de uma imagem.
int GetHeight() const throw();
Return Value
A altura, em pixels, de uma imagem.
CImage::GetImporterFilterString
Localiza formatos de imagem disponíveis para carregar imagens.
static HRESULT GetImporterFilterString(
CSimpleString& strImporters,
CSimpleArray<GUID>& aguidFileTypes,
LPCTSTR pszAllFilesDescription = NULL,
DWORD dwExclude = excludeDefaultLoad,
TCHAR chSeparator = _T('|'));
Parameters
strImporters
Uma referência a um objeto CSimpleString. Consulte Comentários para obter mais informações.
aguidFileTypes
Uma matriz de GUIDs, com cada elemento correspondendo a um dos tipos de arquivo na cadeia de caracteres. No exemplo abaixo pszAllFilesDescription , aguidFileTypes[0] é GUID_NULL com os valores de matriz restantes são os formatos de arquivo de imagem suportados pelo sistema operacional atual.
Note
Para obter uma lista completa de constantes, consulte Constantes de formato de arquivo de imagem no SDK do Windows.
pszAllFilesDescription
Se esse parâmetro não NULLfor , a cadeia de caracteres de filtro terá um filtro adicional no início da lista. Este filtro terá o valor atual de para sua descrição e aceita arquivos de qualquer extensão suportada pszAllFilesDescription por qualquer outro exportador na 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 sinalizadores de bits especificando quais tipos de arquivo devem ser excluídos da lista. As bandeiras permitidas são:
excludeGIF= 0x01 Exclui arquivos GIF.excludeBMP= 0x02 Exclui arquivos BMP (Bitmap do Windows).excludeEMF= 0x04 Exclui ficheiros EMF (Enhanced Metafile).excludeWMF= 0x08 Exclui arquivos WMF (metarquivo do Windows).excludeJPEG= 0x10 Exclui ficheiros JPEG.excludePNG= 0x20 Exclui arquivos PNG.excludeTIFF= 0x40 Exclui arquivos TIFF.excludeIcon= 0x80 Exclui arquivos ICO (ícone do Windows).excludeOther= 0x80000000 Exclui qualquer outro tipo de ficheiro não listado acima.excludeDefaultLoad= 0 Para carga, todos os tipos de arquivo são incluídos por padrãoexcludeDefaultSave=excludeIcon | excludeEMF | excludeWMFPara salvar, esses arquivos são excluídos por padrão porque geralmente têm requisitos especiais.
chSeparator
O separador usado entre os formatos de imagem. Consulte Comentários para obter mais informações.
Remarks
Você pode passar a cadeia de caracteres de formato resultante para seu objeto MFC CFileDialog para expor as extensões de arquivo dos formatos de imagem disponíveis na caixa de diálogo Abrir arquivo .
O parâmetro strImporter tem o formato:
'Descrição do arquivo 0|.ext0|descrição do arquivo 1|. ramal 1|... descrição do arquivo N|*.extN||
onde | é o caractere separador especificado por chSeparator. For example:
"Bitmap format|*.bmp|JPEG format|*.jpg|GIF format|*.gif|PNG format|*.png||"
Use o separador | padrão se você passar essa cadeia de caracteres para um objeto MFC CFileDialog . Use o separador '\0' nulo se você passar essa cadeia de caracteres para uma caixa de diálogo comum Abrir arquivo .
CImage::GetMaxColorTableEntries
Recupera o número máximo de entradas na tabela de cores.
int GetMaxColorTableEntries() const throw();
Return Value
O número de entradas na tabela de cores.
Remarks
Este método suporta apenas bitmaps de seção DIB.
CImage::GetPitch
Recupera o tom de uma imagem.
int GetPitch() const throw();
Return Value
O tom da imagem. Se o valor de retorno for negativo, o bitmap será um DIB de baixo para cima e sua origem será o canto inferior esquerdo. Se o valor de retorno for positivo, o bitmap será um DIB de cima para baixo e sua origem será o canto superior esquerdo.
Remarks
O passo é a distância, em bytes, entre dois endereços de memória que representam o início de uma linha de bitmap e o início da próxima linha de bitmap. Como o pitch é medido em bytes, o pitch de uma imagem ajuda a determinar o formato do pixel. O pitch também pode incluir memória adicional, reservada para o bitmap.
Use GetPitch com GetBits para localizar pixels individuais de uma imagem.
Note
Este método suporta apenas bitmaps de seção DIB.
CImage::GetPixel
Recupera a cor do pixel no local especificado por x e y.
COLORREF GetPixel(int x, int y) const throw();
Parameters
x
A coordenada x do pixel.
y
A coordenada y do pixel.
Return Value
O valor vermelho, verde, azul (RGB) do pixel. Se o pixel estiver fora da região de recorte atual, o valor de retorno será CLR_INVALID.
CImage::GetPixelAddress
Recupera o endereço exato de um pixel.
void* GetPixelAddress(int x, int y) throw();
Parameters
x
A coordenada x do pixel.
y
A coordenada y do pixel.
Remarks
O endereço é determinado de acordo com as coordenadas de um pixel, o passo do bitmap e os bits por pixel.
Para formatos com menos de 8 bits por pixel, esse método retorna o endereço do byte que contém o pixel. Por exemplo, se o formato da imagem tiver 4 bits por pixel, GetPixelAddress retornará o endereço do primeiro pixel no byte e você deverá calcular 2 pixels por byte.
Note
Este método suporta apenas bitmaps de seção DIB.
CImage::GetTransparentColor
Recupera o local indexado da cor transparente na paleta de cores.
LONG GetTransparentColor() const throw();
Return Value
O índice da cor transparente.
CImage::GetWidth
Recupera a largura, em pixels, de uma imagem.
int GetWidth() const throw();
Return Value
A largura do bitmap, em pixels.
CImage::IsDIBSection
Determina se o bitmap anexado é uma seção DIB.
bool IsDIBSection() const throw();
Return Value
TRUE se o bitmap anexado for uma seção DIB. Caso contrário, FALSE.
Remarks
Se o bitmap não for uma seção DIB, você não poderá usar os seguintes CImage métodos, que suportam apenas bitmaps de seção DIB:
CImage::IsIndexed
Determina se os pixels de um bitmap são mapeados para uma paleta de cores.
bool IsIndexed() const throw();
Return Value
TRUE se indexado; caso contrário FALSE.
Remarks
Esse método retorna TRUE somente se o bitmap for de 8 bits (256 cores) ou menos.
Note
Este método suporta apenas bitmaps de seção DIB.
CImage::IsNull
Determina se um bitmap está carregado no momento.
bool IsNull() const throw();
Remarks
Esse método retorna TRUE se um bitmap não estiver carregado no momento, caso contrário FALSE.
CImage::IsTransparencySupported
Indica se o aplicativo oferece suporte a bitmaps transparentes.
static BOOL IsTransparencySupported() throw();
Return Value
Diferente de zero se a plataforma atual suportar transparência. Otherwise 0.
Remarks
Se o valor de retorno for diferente de zero e a transparência for suportada, uma chamada para AlphaBlend, TransparentBltou Draw manipulará cores transparentes.
CImage::Load
Carrega uma imagem.
HRESULT Load(LPCTSTR pszFileName) throw();
HRESULT Load(IStream* pStream) throw();
Parameters
pszFileName
Um ponteiro para uma cadeia de caracteres que contém o nome do arquivo de imagem a ser carregado.
pStream
Um ponteiro para um fluxo que contém o nome do arquivo de imagem a ser carregado.
Return Value
Um padrão HRESULT.
Remarks
Carrega a imagem especificada por pszFileName ou pStream.
Os tipos de imagem válidos são BMP, GIF, JPEG, PNG e TIFF.
CImage::LoadFromResource
Carrega uma imagem de um BITMAP recurso.
void LoadFromResource(
HINSTANCE hInstance,
LPCTSTR pszResourceName) throw();
void LoadFromResource(
HINSTANCE hInstance,
UINT nIDResource) throw();
Parameters
hInstance
Manipule uma instância do módulo que contém a imagem a ser carregada.
pszResourceName
Um ponteiro para a cadeia de caracteres que contém o nome do recurso que contém a imagem a carregar.
nIDResource
A ID do recurso a ser carregado.
Remarks
O recurso deve ser do tipo BITMAP.
CImage::MaskBlt
Combina os dados de cor para os bitmaps de origem e destino usando a máscara especificada e a operação raster.
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
O identificador para o módulo cujo executável contém o recurso.
xDest
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
yDest
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
nDestWidth
A largura, em unidades lógicas, do retângulo de destino e do bitmap de origem.
nDestHeight
A altura, em unidades lógicas, do retângulo de destino e do bitmap de origem.
xSrc
A coordenada x lógica do canto superior esquerdo do bitmap de origem.
ySrc
A coordenada y lógica do canto superior esquerdo do bitmap de origem.
hbmMask
Manipule o bitmap de máscara monocromática combinado com o bitmap de cor no contexto do dispositivo de origem.
xMask
O deslocamento horizontal de pixel para o bitmap de máscara especificado pelo hbmMask parâmetro.
yMask
O deslocamento vertical de pixel para o bitmap de máscara especificado pelo hbmMask parâmetro.
dwROP
Especifica os códigos de operação raster ternária de primeiro e segundo plano que o método usa para controlar a combinação de dados de origem e destino. O código de operação raster em segundo plano é armazenado no byte de ordem alta da palavra de ordem alta desse valor; o código de operação raster de primeiro plano é armazenado no byte de ordem baixa da palavra de ordem alta desse valor; A palavra de ordem baixa desse valor é ignorada e deve ser zero. Para obter uma discussão sobre primeiro plano e plano de fundo no contexto desse método, consulte MaskBlt no SDK do Windows. Para obter uma lista de códigos de operação raster comuns, consulte BitBlt no SDK do Windows.
rectDest
Uma referência a uma RECT estrutura, identificando o destino.
pointSrc
Uma POINT estrutura que indica o canto superior esquerdo do retângulo de origem.
pointMask
Uma POINT estrutura que indica o canto superior esquerdo do bitmap da máscara.
pointDest
Uma referência a uma POINT estrutura que identifica o canto superior esquerdo do retângulo de destino, em unidades lógicas.
Return Value
Diferente de zero se for bem-sucedido, caso contrário, 0.
Remarks
Este método aplica-se apenas ao Windows NT, versões 4.0 e posteriores.
CImage::operator HBITMAP
Use este operador para obter o identificador GDI do Windows anexado do CImage objeto. Este operador é um operador de fundição, que suporta o uso direto de um HBITMAP objeto.
CImage::PlgBlt
Executa uma transferência de bloco de bits de um retângulo em um contexto de dispositivo de origem para um paralelogramo em um 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
Um identificador para o contexto do dispositivo de destino.
pPoints
Um ponteiro para uma matriz de três pontos no espaço lógico que identificam três cantos do paralelograma de destino. O canto superior esquerdo do retângulo de origem é mapeado para o primeiro ponto desta matriz, o canto superior direito para o segundo ponto desta matriz e o canto inferior esquerdo para o terceiro ponto. O canto inferior direito do retângulo de origem é mapeado para o quarto ponto implícito no paralelograma.
hbmMask
Um identificador para um bitmap monocromático opcional que é usado para mascarar as cores do retângulo de origem.
xSrc
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
ySrc
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
nSrcWidth
A largura, em unidades lógicas, do retângulo de origem.
nSrcHeight
A altura, em unidades lógicas, do retângulo da fonte.
xMask
A coordenada x do canto superior esquerdo do bitmap monocromático.
yMask
A coordenada y do canto superior esquerdo do bitmap monocromático.
rectSrc
Uma referência a uma RECT estrutura que especifica as coordenadas do retângulo de origem.
pointMask
Uma POINT estrutura que indica o canto superior esquerdo do bitmap da máscara.
Return Value
Diferente de zero se for bem-sucedido, caso contrário, 0.
Remarks
Se hbmMask identificar um bitmap monocromático válido, PlgBit usará esse bitmap para mascarar os bits de dados de cor do retângulo de origem.
Este método aplica-se apenas ao Windows NT, versões 4.0 e posteriores. Consulte PlgBlt no SDK do Windows para obter informações mais detalhadas.
CImage::ReleaseDC
Libera o contexto do dispositivo.
void ReleaseDC() const throw();
Remarks
Como apenas um bitmap pode ser selecionado em um contexto de dispositivo de cada vez, você deve chamar ReleaseDC cada chamada para GetDC.
CImage::ReleaseGDIPlus
Libera recursos usados pelo GDI+.
void ReleaseGDIPlus() throw();
Remarks
Esse método deve ser chamado para liberar recursos alocados por um objeto global CImage . Consulte CImage::CImage.
CImage::Save
Salva uma imagem no fluxo ou arquivo especificado no disco.
HRESULT Save(
IStream* pStream,
REFGUID guidFileType) const throw();
HRESULT Save(
LPCTSTR pszFileName,
REFGUID guidFileType = GUID_NULL) const throw();
Parameters
pStream
Um ponteiro para um objeto COM IStream que contém os dados da imagem do arquivo.
pszFileName
Um ponteiro para o nome do arquivo da imagem.
guidFileType
O tipo de arquivo para salvar a imagem como. Pode ser um dos seguintes:
ImageFormatBMPUma imagem bitmap não compactada.ImageFormatPNGUma imagem compactada PNG (Portable Network Graphics).ImageFormatJPEGUma imagem compactada JPEG.ImageFormatGIFUma imagem compactada GIF.
Note
Para obter uma lista completa de constantes, consulte Constantes de formato de arquivo de imagem no SDK do Windows.
Return Value
Um padrão HRESULT.
Remarks
Chame essa função para salvar a imagem usando um nome e tipo especificados. Se o guidFileType parâmetro não estiver incluído, a extensão de arquivo do nome do arquivo será usada para determinar o formato da imagem. Se nenhuma extensão for fornecida, a imagem será salva no formato BMP.
CImage::SetColorTable
Define os valores de cor vermelho, verde, azul (RGB) para um intervalo de entradas na paleta da seção DIB.
void SetColorTable(
UINT iFirstColor,
UINT nColors,
const RGBQUAD* prgbColors) throw();
Parameters
iFirstColor
O índice da tabela de cores da primeira entrada a ser definida.
nColors
O número de entradas da tabela de cores a serem definidas.
prgbColors
Um ponteiro para a matriz de estruturas para definir as entradas da tabela de RGBQUAD cores.
Remarks
Este método suporta apenas bitmaps de seção DIB.
CImage::SetPixel
Define a cor de um pixel em um determinado local no bitmap.
void SetPixel(int x, int y, COLORREF color) throw();
Parameters
x
A localização horizontal do pixel a definir.
y
A localização vertical do pixel a definir.
color
A cor para a qual você define o pixel.
Remarks
Esse método falhará se as coordenadas de pixel estiverem fora da região de recorte selecionada.
CImage::SetPixelIndexed
Define a cor do pixel como a cor localizada na paleta de iIndex cores.
void SetPixelIndexed(int x, int y, int iIndex) throw();
Parameters
x
A localização horizontal do pixel a definir.
y
A localização vertical do pixel a definir.
iIndex
O índice de uma cor na paleta de cores.
CImage::SetPixelRGB
Define o pixel nos locais especificados por x e y para as cores indicadas por r, ge b, em uma imagem RGB (vermelha, verde, azul).
void SetPixelRGB(
int x,
int y,
BYTE r,
BYTE g,
BYTE b) throw();
Parameters
x
A localização horizontal do pixel a definir.
y
A localização vertical do pixel a definir.
r
A intensidade da cor vermelha.
g
A intensidade da cor verde.
b
A intensidade da cor azul.
Remarks
Os parâmetros vermelho, verde e azul são representados por um número entre 0 e 255. Se você definir todos os três parâmetros como zero, a cor resultante combinada será preto. Se você definir todos os três parâmetros como 255, a cor resultante combinada será branco.
CImage::SetTransparentColor
Define uma cor em um determinado local indexado como transparente.
LONG SetTransparentColor(LONG iTransparentColor) throw();
Parameters
iTransparentColor
O índice, em uma paleta de cores, da cor a ser definida como transparente. Se -1, nenhuma cor é definida como transparente.
Return Value
O índice da cor previamente definida como transparente.
CImage::StretchBlt
Copia um bitmap do contexto do dispositivo de origem para esse contexto de dispositivo atual.
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
Um identificador para o contexto do dispositivo de destino.
xDest
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
yDest
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
nDestWidth
A largura, em unidades lógicas, do retângulo de destino.
nDestHeight
A altura, em unidades lógicas, do retângulo de destino.
dwROP
A operação raster a ser executada. Os códigos de operação raster definem exatamente como combinar os bits da origem, do destino e do padrão (conforme definido pelo pincel selecionado no momento) para formar o destino. Consulte BitBlt no SDK do Windows para obter uma lista de outros códigos de operação de raster e suas descrições.
rectDest
Uma referência a uma RECT estrutura, identificando o destino.
xSrc
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
ySrc
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
nSrcWidth
A largura, em unidades lógicas, do retângulo de origem.
nSrcHeight
A altura, em unidades lógicas, do retângulo da fonte.
rectSrc
Uma referência a uma RECT estrutura, identificando a fonte.
Return Value
Diferente de zero se for bem-sucedido, caso contrário, 0.
Remarks
Para obter mais informações, consulte StretchBlt no SDK do Windows.
CImage::TransparentBlt
Copia um bitmap do contexto do dispositivo de origem para esse contexto de dispositivo atual.
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
Um identificador para o contexto do dispositivo de destino.
xDest
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
yDest
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de destino.
nDestWidth
A largura, em unidades lógicas, do retângulo de destino.
nDestHeight
A altura, em unidades lógicas, do retângulo de destino.
crTransparent
A cor no bitmap de origem a ser tratada como transparente. Por padrão, CLR_INVALID, indicando que a cor atualmente definida como a cor transparente da imagem deve ser usada.
rectDest
Uma referência a uma RECT estrutura, identificando o destino.
xSrc
A coordenada x, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
ySrc
A coordenada y, em unidades lógicas, do canto superior esquerdo do retângulo de origem.
nSrcWidth
A largura, em unidades lógicas, do retângulo de origem.
nSrcHeight
A altura, em unidades lógicas, do retângulo da fonte.
rectSrc
Uma referência a uma RECT estrutura, identificando a fonte.
Return Value
TRUE se bem sucedido, caso contrário FALSE.
Remarks
TransparentBlt é suportado para bitmaps de origem de 4 bits por pixel e 8 bits por pixel. Use CImage::AlphaBlend para especificar bitmaps de 32 bits por pixel com transparência.
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 Amostra
SimpleImage Amostra
Device-Independent Bitmaps
CreateDIBSection
Componentes de desktop ATL COM
Device-Independent Bitmaps