Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.01 KB | None | 0 0
  1. const int TAMANHO_DA_LINHA  = 800;
  2. const int TAMANHO_DA_COLUNA = 600;
  3. const int CORES = 4;
  4.  
  5. extern char* cBegin; // Cbegin é a matriz e tem tamanho 800 * 600 * 4
  6.  
  7. void DrawFilledRectangle(int x0, int y0, int x1, int y1, char R, char G, char B, char A) {
  8.     // TODO: Verificar se os valores solicitados estão dentro da matriz
  9.  
  10.     // Como cada pixel é composto de quatro bytes temos uma matriz assim:
  11.  
  12.     // | R G B A | R G B A | R G B A | ...
  13.     // | R G B A | R G B A | R G B A | ...
  14.     // | R G B A | R G B A | R G B A | ...
  15.  
  16.  
  17.     // lembrar que Cbegin é o ponteiro para o começo da matriz, ou seja, ele aponta pra 0,0
  18.  
  19.     for (int linha = y0; linha < y1; linha++) {
  20.         for (int coluna = x0; coluna < x1; coluna++) {
  21.             int posicao_inicial = ((TAMANHO_DA_LINHA * linha) + coluna) * CORES;
  22.  
  23.             cBegin[posicao_inicial] = R;
  24.             cBegin[posicao_inicial + 1] = G;
  25.             cBegin[posicao_inicial + 2] = B;
  26.             cBegin[posicao_inicial + 3] = A;
  27.         }
  28.     }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement