O que parecia um programa bem simples vem se tornando muito dificil pra mim.
Alguém me ajuda? estou com algumas duvidas(mais precisamente onde tem os // para os comentarios.)
Enfim,o programa basicamente pega uma imagem monocromatica .bmp,le os pontos de uma reta e cria um arquivo com suas coordenadas,se alguém puder me ajudar eu agradeço.
eu não posso usar outros comandos além desses porque é um trabalho de um curso.
se alguém conseguiu entender o que eu fiz e puder me ajudar eu agradeço e MUITO.
A grande dificuldade que eu encontro é como tirar o cabeçalho da imagem .bmp e como eu vou conseguir de fato,ler o arquivo .bmp
Eu gostaria de saber se ficaria mais facil com o allegro.h
no entanto não sei usa-lo se alguém souber resolver mesmo com o allegro.h me ajude por favor?
Obrigado desde já
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main ()
{
FILE *entrada,*saida;
entrada=fopen("IMAGEMMONO.bmp","r"); // Descobrir como C le o arquivo em .bmp
saida=fopen("coordenadas.txt","w");
int i,contx,conty,coordx,coordy;
float aux1,aux2,valor;
contx=0;
conty=0;
coordy=0;
coordx=0;
if (entrada==NULL)
{
printf("ERRO,arquivo não encontrado");
}
for(i=0;i<14;i++){ // Descobrir o numero de bits do cabeçalho para ignorá-lo no programa
aux1=fgetc(entrada);
aux2=fgetc(entrada);
}
aux1=69;
aux2=69;
while(!feof(entrada))
{
aux1=fgetc(entrada);
aux2=fgetc(entrada);
valor=aux1*16+aux2; // Fazer a conversao para Hexa
printf("%c",&valor);
if(valor==0){ // Descobrir o Valor do pixel preto
coordx=contx;
coordy=conty;
fprintf(saida, "\n X: %d Y: %d \n", coordx,coordy);
}
contx++;
if(contx==941)
{
contx=0;
conty++;
}
}
if(feof(entrada))
{
printf("Fim!\n");
fclose(entrada);
system("PAUSE");
}
}
Pergunta
Symant
O que parecia um programa bem simples vem se tornando muito dificil pra mim.
Alguém me ajuda? estou com algumas duvidas(mais precisamente onde tem os // para os comentarios.)
Enfim,o programa basicamente pega uma imagem monocromatica .bmp,le os pontos de uma reta e cria um arquivo com suas coordenadas,se alguém puder me ajudar eu agradeço.
eu não posso usar outros comandos além desses porque é um trabalho de um curso.
se alguém conseguiu entender o que eu fiz e puder me ajudar eu agradeço e MUITO.
A grande dificuldade que eu encontro é como tirar o cabeçalho da imagem .bmp e como eu vou conseguir de fato,ler o arquivo .bmp
Eu gostaria de saber se ficaria mais facil com o allegro.h
no entanto não sei usa-lo se alguém souber resolver mesmo com o allegro.h me ajude por favor?
Obrigado desde já
#include<stdio.h> #include<stdlib.h> #include<math.h> int main () { FILE *entrada,*saida; entrada=fopen("IMAGEMMONO.bmp","r"); // Descobrir como C le o arquivo em .bmp saida=fopen("coordenadas.txt","w"); int i,contx,conty,coordx,coordy; float aux1,aux2,valor; contx=0; conty=0; coordy=0; coordx=0; if (entrada==NULL) { printf("ERRO,arquivo não encontrado"); } for(i=0;i<14;i++){ // Descobrir o numero de bits do cabeçalho para ignorá-lo no programa aux1=fgetc(entrada); aux2=fgetc(entrada); } aux1=69; aux2=69; while(!feof(entrada)) { aux1=fgetc(entrada); aux2=fgetc(entrada); valor=aux1*16+aux2; // Fazer a conversao para Hexa printf("%c",&valor); if(valor==0){ // Descobrir o Valor do pixel preto coordx=contx; coordy=conty; fprintf(saida, "\n X: %d Y: %d \n", coordx,coordy); } contx++; if(contx==941) { contx=0; conty++; } } if(feof(entrada)) { printf("Fim!\n"); fclose(entrada); system("PAUSE"); } }Editado por kuroiAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.