Ir ao conteúdo

C Reproduzir imagem através de código


Ir à solução Resolvido por arfneto,

Posts recomendados

Postado
6 horas atrás, BifeProgramador disse:

Nessa linha aqui por que tem esse ++col ? Qual a função disso ?

 

Notou o comentário?

 

image.png.0e7398a401b97efbe943a0b7e62e4ff3.png

 

Se lembra do que você postou?

 

image.png.3dfb76244aa6d6f69fe39447ed48369f.png

 

🤔 então é isso

  • Obrigado 1
Postado
27 minutos atrás, arfneto disse:

 

Notou o comentário?

 

image.png.0e7398a401b97efbe943a0b7e62e4ff3.png

 

Se lembra do que você postou?

 

image.png.3dfb76244aa6d6f69fe39447ed48369f.png

 

🤔 então é isso

Na verdade essa parte não é apenas para fazer a quebra de linhas ? Eu queria entender direito como funciona 

  • Obrigado 1
Postado
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
Postado

@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);
}

 

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!