JPG-Skalieren...

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

JPG-Skalieren...

Beitrag von sen-me »

Hallo,

gibt es eine Möglichkeit JPG-Bilder schnell auf eine bestimmte Auflösung zu skalieren?
Das skalieren ist kein Thema, aber dadurch gehen die EXIF-Informationen verloren (ich öffne das Bild, skalier es und speicher es erneut ab).

Muss ich wirklich jede Datei öffnen, EXIF-Daten auslesen und erneut schreiben, oder gibt es eine Möglichkeit die Bilder zu verkleinern ohne das Informationen verloren gehen und dann das verkleinerte Bild an einem andren Ort abzuspeichern?


Lg Micha
Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: JPG-Skalieren...

Beitrag von Fluid Byte »

Muss ich wirklich jede Datei öffnen, EXIF-Daten auslesen und erneut schreiben...
Wie denn sonst?
Windows 10 Pro, 64-Bit / Outtakes | Derek
a14xerus
Beiträge: 1440
Registriert: 14.12.2005 15:51
Wohnort: Aachen

Re: JPG-Skalieren...

Beitrag von a14xerus »

Fluid Byte hat geschrieben:
Muss ich wirklich jede Datei öffnen, EXIF-Daten auslesen und erneut schreiben...
Wie denn sonst?
Genau das fragt er doch grade -.-'
@ sen-me:
Nativ unter PB mit dne Imagebfehlen musst du wohl die Exif und Tags selber neu schreiben, da die ja nicht ins "PB-"image geladen werden.

Ansonsten vll mit externen DLLs oder evt einer Include, ich selber kenn aber leider keine atm.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: JPG-Skalieren...

Beitrag von ts-soft »

a14xerus hat geschrieben:
Fluid Byte hat geschrieben:
Muss ich wirklich jede Datei öffnen, EXIF-Daten auslesen und erneut schreiben...
Wie denn sonst?
Genau das fragt er doch grade -.-'
Welche andere Möglichkeit sollte es denn sonst geben?
Nichts und niemand kann die Exif schreiben ohne sie vorher zu lesen :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: JPG-Skalieren...

Beitrag von Thorium »

Ich denke mal er möchte unnötige festplattenzugriffe vermeiden. Wenn er das JPEG mit der PB image lib speichert muss er es dann nochmal laden um die EXIF reinzuschreiben und es dann erneut auf die festplatte schreiben. Wieder mal ein Fall in dem man ein SaveImageToMemory gebrauchen könnte.

Also ohne das image erst auf die Platte zu schreiben und dann wieder zu laden wirst du wohl um irgendeine Lib oder DLL von außerhalb nicht auskommen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: JPG-Skalieren...

Beitrag von Fluid Byte »

a14xerus hat geschrieben:Genau das fragt er doch grade -.-'
Is' schon wieder Welt-Klugscheißer-Tag -.-'

Ich bin dummerweise von einer vorhandenen Rest-Intelligenz bei euch beiden Experten ausgegangen die euch verstehen lässt das du die Datei zuerst laden musst um sie skalieren zu können ...

Das heißt? Richtig! Wenn er sie lädt kann er auch gleich EXIF mitlesen.
Viele Menschen nehmen fälschlicherweise an EXIF wäre Bestandteil des JPEG-Format was aber falsch ist.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Re: JPG-Skalieren...

Beitrag von sen-me »

Hätt ja sein können das es eine Funktion oder so gibt wo die EXIF mitläd und gleichzeitig mitspeichert...
Vllt gibts ja ne Lib, ma suchen....


Edit:
Z.b. das man direkt die Daten vom Bild per ReadWord oder so ausliest und diese direkt dann übertragt ohne jedes Feld jetzt auszulesen und schauen ob dort Informationen stehen...
Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: JPG-Skalieren...

Beitrag von c4s »

Exif-Daten werden mit dem Marker $FFE1 eingeleitet. Informationen über die Größe folgen darauf.
Einen dementsprechenden Code solltest du im Forum finden. Andernfalls wirst du bei deiner Suchmaschine des Vertrauens fündig.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: JPG-Skalieren...

Beitrag von Thorium »

Fluid Byte hat geschrieben: Viele Menschen nehmen fälschlicherweise an EXIF wäre Bestandteil des JPEG-Format was aber falsch ist.
Aber JPEG ist Bestandteil von EXIF. Ich hab mir grad die Spezifikationen angeschaut http://www.exif.org.
Ich dachte ja EXIF wäre nur ein Standart um Informationen in Bilddateien zu hinterlegen aber das stimmt ja garnicht. Es schreibt auch vor wie genau die Bilddateien gespeichert werden müssen und die Spezifikationen unterstützen nur ganz bestimmte Dateiformate, bzw. passen diese leicht an, JPEG gehöhrt dazu.

Also so falsch ist die Annahme garnicht das EXIF Bestandteil von JPEG ist. Nicht ganz korrekt, ja, aber nicht fatal falsch.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: JPG-Skalieren...

Beitrag von Fluid Byte »

Thorium hat geschrieben:Also so falsch ist die Annahme garnicht das EXIF Bestandteil von JPEG ist
Doch ist sie, genau wie ich es gesagt habe. JPEG ist völlig unabhängig von EXIF. JPEG funktioniert ohne EXIF. Du hast selber entsprechenden Link gepostet. Mit EXIF können Zusatzinformationen gespeichert werden die aber nicht auf das JPEG-Format beschränkt sind.

Ich habe das erwähnt weil sen-me bemängelt hat das PB die EXIF-Informationen nicht mit speichert. Aber wie oben beschrieben ist das nun mal nicht Bestandteil des JPEG-Formats und somit ist jeder Programmierer selbst dafür verantwortlich diese Informationen zu lesen und zu schreiben.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten