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 breiteumrechnen 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.