Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) API-Como carregar um Bitmap


Aleksander

Pergunta

Ola amigos, como devo me referir a um bitmap para carrega-lo usando API? A janela e os botões eu consegui criar, meu exe ficou com 41k e funciona perfeitamente, usei windows, messages, sysutils, a imagem seria apenas para efeito estético. Se alguém tiver uma dica ou link.

Desde já agradeço pela atenção.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Correto Jhonas, a questão foi dada como resolvida por mim ao ter recebido o código mas não havia testado, agora que testei e no meu caso funcionou, segue abaixo uma maneira de carregar uma imagem de extensão .BMP de um determinado arquivo usando a API.

Crie as seguintes variáveis globais:

hDCImg : HDC;
hBitImg : HBITMAP; 
ps : TPAINTSTRUCT;
rc : TRECT;
Crie uma procedure para carregar a imagem de um arquivo com o seguinte código:
hDCSis := GetDC(0);
hDCImg := CreateCompatibleDC(hDCSis);
ReleaseDC(0, hDCSis);
hBitImg := LoadImage(0,'nomedaimagem.bmp', IMAGE_BITMAP, 0, 0,   LR_DEFAULTSIZE or LR_LOADFROMFILE); 
SelectObject(hDCImg, hBitImg);
Na função WindowProcedure na msg WM_PAINT use o código:
BeginPaint(hWin, ps);
//Chame a procedure criada aqui
GetClientRect(hWin, rc);
StretchBlt(ps.hdc, ps.rcPaint.left, ps.rcPaint.top, ps.rcPaint.right-ps.rcPaint.left, ps.rcPaint.bottom-ps.rcPaint.top, hDCImg, 0, 0, rc.right, rc.bottom, SRCCOPY);
EndPaint(hWin, ps);
Antes de fechar a aplicação delete os itens:
DeleteDC(hDCImg);
DeleteObject(hBitImg);
Se desejar carregar a imagem de um arquivo .RES troque a linha:
hBitImg := LoadImage(0,'nomedaimagem.bmp', IMAGE_BITMAP, 0, 0,   LR_DEFAULTSIZE or LR_LOADFROMFILE);
Por esta:
hBitImg := LoadBitmap(hInstance,'nomedorecurso’);

Grande abraço!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...