ulvis.paste.net - pastebin

Paste Search Dynamic
Recent pastes
imagem open
  1. imagem open(imagem img, char nome_arquivo[]){
  2.  
  3.     char text[10];
  4.     char text_split[3][50];
  5.     char altura[5];
  6.     char largura[5];
  7.     char nome_arquivo_tratado[30];
  8.     int qtd_cores;
  9.  
  10.  
  11.     for (int i = 0; i < 30; ++i)
  12.     {
  13.         nome_arquivo_tratado[i] = '\0';
  14.     }
  15.  
  16.     limpar_string_arquivo(nome_arquivo, nome_arquivo_tratado);
  17.  
  18.     FILE *file;
  19.     file = fopen(nome_arquivo_tratado, "r");
  20.  
  21.     if(file == null){
  22.  
  23.         puts("Arquivo não encontrado");
  24.  
  25.     } else {
  26.  
  27.         img = alocar_matriz();
  28.        
  29.         fgets(text, 10, file);
  30.         fgets(text, 10, file);
  31.        
  32.         split(text, " ", text_split);
  33.        
  34.         strcpy(altura, text_split[0]);
  35.         strcpy(largura, text_split[1]);
  36.        
  37.         strcpy(img.nome_imagem, nome_arquivo_tratado);
  38.  
  39.         sscanf(altura, "%d", &img.altura);
  40.         sscanf(largura, "%d", &img.largura);
  41.         img = realocar_matriz(img);
  42.  
  43.         qtd_cores = img.altura * img.largura * 3;
  44.  
  45.         char cores[(qtd_cores + 1) * 12];
  46.         char vetor_cores[qtd_cores][50];
  47.  
  48.         fgets(text, 10, file);
  49.         fgets(cores, qtd_cores * 4 , file);
  50.  
  51.         split(cores, " ", vetor_cores);
  52.        
  53.  
  54.         int indice = 0;
  55.         for (int i = 0; i < img.altura; ++i)
  56.         {
  57.             for (int j = 0; j < img.largura; ++j)
  58.             {
  59.                 for (int k = 0; k < 3; ++k)
  60.                 {  
  61.                     sscanf(vetor_cores[indice], "%d", &img.matriz[j][i][k]);
  62.                     indice++;
  63.                 }
  64.             }
  65.         }
  66.     }
  67.  
  68.     return img;
  69. }
Parsed in 0.011 seconds