Auflösung von jpg Bildern auslesen



  • Für welches Betriebssystem suchst du eine Lösung?



  • c++eus schrieb:

    mit Standard C++ ist das nicht zu realisieren

    Klar isses das. Aber dann müsste man das jpg-Format, zb. auf www.wotsit.org, nachlesen und entsprechend die Datei einlesen.

    In der Regel nimmt man da aber wohl fertige Funktionen für, die einem eventuell vom Betriebssystem oder sonstigen Librarys bereitgestellt werden.



  • Hallo,

    ich benötige dies für eine Windwos (Windows 2000) Platteform.

    Es reicht mir aus Höhe und Breite in Pixel auszulesen.

    Gruß
    Tuxedor



  • http://www.c-plusplus.net/forum/viewtopic.php?t=39384

    // get width and height of picture 
    LONG hmWidth; 
    LONG hmHeight; 
    pPicture->get_Width(&hmWidth); 
    pPicture->get_Height(&hmHeight);
    


  • cd9000 schrieb:

    Für welches Betriebssystem suchst du eine Lösung?

    Was hat das mit dem Betriebssystem zu tun?
    Haben .gif files auf Windows ein anderes Format als beispielsweise bei Linux? 😉



  • walker schrieb:

    Was hat das mit dem Betriebssystem zu tun?
    Haben .gif files auf Windows ein anderes Format als beispielsweise bei Linux? 😉

    Je nach Betriebssystem hast du andere Möglichkeiten, die Breite und Höhe eines gifs auszulesen 😉 - das Format ist natürlich das gleiche 🕶



  • Hi,

    vielen Dank für Eure Antworten und ein gutes neues Jahr 2004.

    Da ich mich mit Windowsprogrammen nicht auskenne brauche dies zwar für die Windows Platform, jedoch nicht für ein Windowsprogramm, sondern das Programm läuft hinterher in einer sog. DOS-Box (Windows Eingabeaufforderung). Sodass mir ausreicht welche Library ich brauche und wie ich dann Höhe und Breite auslese und dies eventuell in Pixel umrechne.

    Ich stelle mir das so vor:

    öffnen der Datei
    lesen bis ????
    auslesen höhe
    lesen bis ????
    auslesen breite

    umrechnen höhe und breite in Pixel

    oder stelle ich mir das zu einfach vor ?

    Gruß
    Tuxedor



  • Auf www.wotsit.org müsste sich eigentlich die Definition des jpeg-Formates finden lassen. 🙂

    Flenders hat doch bereits eine Lösung gepostet, warum probierst du es nicht damit?



  • Hallo

    habe einen Quellcode gefunden

    procedure GetResJpg(JPGFile: string); 
    const 
      BufferSize = 50; 
    var 
      Buffer: string; 
      Index: integer; 
      FileStream: TFileStream; 
      HorzRes, VertRes: Word; 
      DP: Byte; 
      Measure: string; 
    begin 
      FileStream := TFileStream.Create(JPGFile, 
        fmOpenReadWrite); 
      try 
        SetLength(Buffer, BufferSize); 
        FileStream.Read(buffer[1], BufferSize); 
        Index := Pos('JFIF' + #$00, buffer); 
        if Index > 0 then 
        begin 
          FileStream.Seek(Index + 6, soFromBeginning); 
          FileStream.Read(DP, 1); 
          case DP of 
            1: Measure := 'DPI'; //Dots Per Inch 
            2: Measure := 'DPC'; //Dots Per Cm. 
          end; 
          FileStream.Read(HorzRes, 2); // x axis 
          HorzRes := Swap(HorzRes); 
          FileStream.Read(VertRes, 2); // y axis 
          VertRes := Swap(VertRes); 
        end 
      finally 
        FileStream.Free; 
      end; 
    end;
    

    Sieht meiner Meinung nach Pascal oder Delphi aus.

    Könnt Ihr mir das bitte in c/c++ "übersetzten" ?

    Gruß
    Tuxedor



  • Öhm - liest Du dir eigentlich gar nicht durch was andere hier schreiben ?
    Der Quellcode den du da geposted hast, liest einfach nur nen jpeg-header aus, der in "JPEG File Format" (wotsit.org - suchen nach 'jpeg') ab Zeile 203 beschrieben wird.


Anmelden zum Antworten