Comment obtenir la largeur/hauteur de fichier jpeg sans l'aide de la bibliothèque?

Tout d'abord je tiens à dire que j'ai essayé de nombreuses fois pour trouver la réponse en utilisant la recherche google, et j'ai trouvé beaucoup de résultats, mais je ne comprends pas, parce que je ne sais pas l'idée de lire un fichier binaire, et de convertir la valeur Obtenue lisible valeur.

Ce que j'ai essayé de le faire.

unsigned char fbuff[16];
FILE *file;
file = fopen("C:\\loser.jpg", "rb");
if(file != NULL){
   fseek(file, 0, SEEK_SET);
   fread(fbuff, 1, 16, file);
   printf("%d\n", fbuff[1]);
   fclose(file);
}else{
   printf("File does not exists.");
}

Je veux une explication simple exemple montre comment obtenir la largeur/hauteur de fichier jpeg à partir de sa tête, et puis convertir cette valeur lisible valeur.

Avez-vous les détails de ce qui est contenu dans les fichiers jpeg? Si vous avez, veuillez l'inclure dans votre question. Je doute que votre méthode de travail puisqu'il y a généralement un en-tête au début et puis le réel les valeurs des pixels de départ. Si vous avez seulement besoin de la hauteur et la largeur de l'information, je crois que vous pouvez obtenir que par la lecture de l'en-tête seul.
Je parle jpeg files en général.
Je comprends cela, mais la question est, savez-vous quel est le format pour les fichiers jpeg? Ou voulez-vous nous de le trouver pour vous ?
C'est la première fois de traiter des fichiers binaires, comme le jpeg, et je ne comprends rien à ce sujet.
Jetez un oeil à cette fastgraph.com/help/jpeg_header_format.html. Il est dit que l'en-tête contient la largeur et la hauteur de l'information à des décalages de 2 et 4 respectivement. Tout ce que vous devez faire est de ce point de l' fread à ces décalages à l'aide de fseek et lire 2 octets à partir de chaque emplacement. Ensuite, vous avez besoin de convertir ces octets entiers. Lui donner un essai.

OriginalL'auteur Lion King | 2013-08-16