Ir ao conteúdo
  • Cadastre-se

C Reproduzir imagem através de código


BifeProgramador
Ir à solução Resolvido por arfneto,

Posts recomendados

3 minutos atrás, arfneto disse:

🤔 quando chegar a 100 muda de linha?

porque é no maximo 100 valores por linha não é ? E ali tem ((if ++col % 100) == 0 ) fprintf ("\n")

 

o (\n) pula para a outra linha quando o ++col chega a 100 porque só esse valor que dividido por 100 vai dar resto 0...

 

Ou estou errado ?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@BifeProgramador       esse exercício é para criar uma imagem do tipo pbm ,  mas se você quisesse carregar e mostrar na tela uma  imagem bmp  ,  você poderia usar esse código  aqui   :

#define _WIN32_WINNT 0x0500  /// tem ficar aqui na primeira linha
/// crie um projeto do tipo win32GUI e coloque esse código no lugar do código criado pelo codeblocks  
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WinMain (  HINSTANCE hInstance , HINSTANCE hPrevInstance,
               PSTR lpCmdLine      , INT nCmdShow          )
{
    HWND hwnd        = GetConsoleWindow();
    MSG  msg;
    WNDCLASSW wc     = {0};
    wc.lpszClassName = L" ";
    wc.hInstance     = hInstance;
    wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
    wc.lpfnWndProc   = WndProc;
    wc.hCursor       = LoadCursor(0,IDC_ARROW);
    wc.hbrBackground = (HBRUSH)CreateSolidBrush ( RGB(255,255,0)); /// fundo amarelo
    RegisterClassW(&wc);
    CreateWindowW
    (
        wc.lpszClassName, L"Imagem Estatica !",
        WS_OVERLAPPEDWINDOW   |   WS_VISIBLE  ,
        100, 100, 830, 870, 0, 0, hInstance,  0
    );
    ShowWindow( hwnd, SW_MINIMIZE );
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    system("taskkill /IM cb_console_runner.exe");/* FECHAR JANELA DO CONSOLE quando estiver usando o codeblocks*/
    return (int) msg.wParam;
}
LRESULT CALLBACK WndProc (  HWND hwnd, UINT msg , WPARAM wParam , LPARAM lParam )
{
    HWND hsti;
    HBITMAP hBitmap;
    switch(msg)
    {
        case WM_KEYDOWN:
        {
            case VK_ESCAPE:
                PostQuitMessage( 0 );
                break;
        }
        case WM_CREATE:
                                  /// a3.bmp é a imagem que precisa estar na mesma pasta do programa                         
            hBitmap = (HBITMAP) LoadImageW(NULL, L"a3.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
            hsti    = CreateWindowW
            (
                L"Static",
                L"",
                WS_CHILD | WS_VISIBLE | SS_BITMAP,
                50, 50, 10, 880,
                hwnd, (HMENU) 1, NULL, NULL
             );
            SendMessage
            (
                 hsti,
                 STM_SETIMAGE,
                 (WPARAM) IMAGE_BITMAP,
                 (LPARAM) hBitmap
             );
            break;
        case WM_DESTROY:
            DeleteObject((HBITMAP)hBitmap);
            PostQuitMessage(0);
            break;
    }
    return DefWindowProcW(hwnd, msg, wParam, lParam);
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!