Wie man die Breite/Höhe der jpeg-Datei ohne Bibliothek?

Erstens möchte ich sagen, dass ich viele Male versucht, die Antwort zu finden, indem mit Hilfe der google-Suche, und ich fand viele Ergebnisse, aber ich Verstand nicht, denn ich weiß nicht, die Idee beim Lesen einer Binär-Datei, und wandeln Sie den Wert, Erhalten zu lesbaren Wert.

, Was ich versucht habe, es zu tun.

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.");
}

Ich will eine einfache Erklärung mit Beispiel zeigt, wie man die Breite/Höhe der jpeg-Datei aus der Kopfzeile, und klicken Sie dann konvertieren Sie den Wert in lesbaren Wert.

  • Sie haben die details von dem, was enthalten ist in den jpeg-Dateien? Wenn Sie haben, geben Sie diese bitte bei Ihrer Frage. Ich bezweifle, dass deine oben genannte Methode funktionieren wird, da es im Allgemeinen einen header am Anfang und dann die eigentliche pixel-Werte. Wenn Sie nur die Höhe und Breite Informationen, ich glaube, Sie können, dass durch das Lesen der header allein.
  • Ich spreche jpeg files im Allgemeinen.
  • Ich verstehe, dass, aber die Frage ist, wissen Sie, was ist das format für jpeg-Dateien? Oder wollen Sie uns, um finden es für Sie ?
  • Dies ist die erste Zeit Umgang mit binären Dateien, wie z.B. jpeg, und ich verstehe nicht, nichts über, die.
  • Werfen Sie einen Blick auf dieses fastgraph.com/help/jpeg_header_format.html. Es sagt, dass der header enthält die Breite und Höhe Informationen an den offsets 2 und 4 beziehungsweise. Alles, was Sie tun müssen, ist, dass Punkt der fread um diese offsets mit fseek und Lesen, 2 bytes, die von jeder Position. Dann müssen Sie zur Konvertierung von bytes in Ganzzahlen. Probieren Sie es aus.
  • Ich habe es getan, bevor, aber es gibt mir geheimnisvolle Zahl, wie konvertiert man diese Zahl um den wahren Wert.
  • lassen Sie uns weiter, diese Diskussion im chat
  • der link, den Sie gab (fastgraph.com/help/jpeg_header_format.html) enthält, die völlig falsche Informationen über JPEG-header. Sogar der Stempel ist falsch. Dann Breite und Höhe an offset 2 und 4 bzw/ly? Diese Leute müssen verrückt sein.

InformationsquelleAutor Lion King | 2013-08-16
Schreibe einen Kommentar