-
Forum: Multimedia
Delphi
by Benmik,
22. Aug 2021
Leider bin ich zurzeit nur beschränkt aktionsfähig; Internet z.B. nur über Handy, daher kann ich nur eingeschränkt Auskunft geben.
Denke daran, dass Mitov und Konsorten nur Wrapper für GDIPlus sind; bei Fragen kannst du also auch bei MSN nachschauen. Ich hatte damals dermaßen viele Wege ausprobiert, dass ich selbst erst nachschauen musste, für welche Variante ich mich eigentlich entschieden...
-
Forum: Multimedia
Delphi
by Benmik,
22. Aug 2021
Hilft dir das hier weiter?
-
Forum: Multimedia
Delphi
by Benmik,
31. Jul 2020
Ich habe die Prozedur zum Drehen von JPG an zwei Stellen verbessert.
Zum einen ist es das Auslesen des EXIF-Datums, das jetzt ordentlich geschieht.
Zum anderen habe ich bemerkt, dass der Code bei 64-Bit-Apps nicht funktionierte. Das war mir zunächst ein Rätsel, da es keinerlei Fehlermeldung gab, die DLL ganz offensichtlich korrekt angesteuert und auch die Datei verlustfrei neu gespeichert...
-
Forum: Multimedia
Delphi
by Benmik,
20. Jul 2020
Das tut mir leid, dass du so Probleme mit deinen Augen hast. Du musst ja auch keineswegs umsteigen. Die GDI+-Bibliothek bleibt ja gleich, es ist nur der Delphi-Wrapper, der bei Mitov etwas moderner und bequemer ist.
Das liegt an der fehlenden Einbindung von IGDIPlus.pas von Mitov. Den Link hatte ich ja angegeben.
Kennst du das Tastenkürzel STRG + SHIFT + E für das Refaktorisieren von...
-
Forum: Multimedia
Delphi
by Benmik,
20. Jul 2020
Das kenn ich!
Du hast recht, das hat der gute Boian Mitov geändert. Im Original-EXIF haben alle Einträge eine 12-Byte-Struktur, wovon die letzten 4 Bytes die Werte (oder den Offset) beinhalten. Vermutlich gibt es keine numerischen Werte, die die Grenzen eines Word überschreiten.
Eins muss man in der Unit IGDIPlus noch ändern: Ist ein Tag nicht vorhanden, dann gibt es eine Warnung. Das kann...
-
Forum: Multimedia
Delphi
by Benmik,
20. Jul 2020
Das kann nur bei Little Endian klappen, weil es eben 4 Bytes sind, Word sind nur 2; dann würde aber sogar PByte reichen. Kann kaum glauben, dass es bei dir kein PUInt32 geben soll, aber probiers doch mal mit PCardinal, das ist doch das Gleiche. Notfalls typisier es doch einfach selbst.
Ich habe hier JPG sowohl mit Intel als auch mit Motorola; ich probiere später mal aus, wo es einen Unterschied...
-
Forum: Multimedia
Delphi
by Benmik,
19. Jul 2020
Ich wollte diese GDIPlus-Sache abschließen und habe mich nochmal reingekniet. Dabei ist mir auch wieder eingefallen, dass es ja mit IGDIPlus von Boian Mitov eine neuere und bessere Portierung gibt. Die letzte Änderung ist zwar von 2016, aber das ist wesentlich neuer als Prodigy von 2002.
Dann habe ich nochmal "Lossless transform of a JPEG image" von Microsoft gründlicher gelesen. Dort steht...
-
Forum: Multimedia
Delphi
by Benmik,
18. Jul 2020
Irgendwie ist mir das Thema aus den Augen geraten.
Du hast natürlich Recht! Ich kam darauf, weil ich Mühe hatte, die richtige gdiplus.dll zu erwischen (warum gibt es nicht einfach eine gdiplus64.dll?). Auf meinem System gibt es nicht weniger als 31 Exemplare davon. Jetzt habe ich sie händisch an einen sicheren Ort kopiert und bin ganz happy.
In meinem Code steckt ein Fehler (ich hatte da...
-
Forum: Multimedia
Delphi
by Benmik,
8. Jul 2020
Hier noch die Verwendung von GDI+. Nur einfaches Beispiel, ohne Ressourcenschutz oder Ähnliches. Leider bietet die Save-Procedure nicht die Option des Überschreibens, daher ein bisschen Nachbau. GDI+ ist sehr schnell. Zu beachten ist, dass hier die Blockgröße 16 Pixel beträgt, Höhe/Breite also ein Vielfaches von 16 sein müssen.
Frustrierend ist, dass GDI+ als 32-Bit-DLL natürlich wieder mal...
-
Forum: Multimedia
Delphi
by Benmik,
7. Jul 2020
Kommt auf das Programm an. Es gibt auch welche - weiß jetzt nicht, ob IrfanView dazugehört - die bieten an, entweder den über den 8-Pixel-Block hinausgehenden Rand abzuschneiden oder ihn (und nur ihn) verlustbehaftet mitzuverarbeiten.
ImageEn ist ein Hammer, allerdings teuer und meiner Meinung nach in manchen Routinen nicht das Schnellste. Wenn man seinem Programm Bildbearbeitung verpassen...
-
Forum: Multimedia
Delphi
by Benmik,
6. Jul 2020
Kann nicht dein Ernst sein, Himitsu. Seit Jahrzehnten ist der Algorithmus bekannt, mit dem man ein JPG verlustfrei drehen kann, sofern dies in 90°-Schritten geschieht (90°, 180° und 270°). Ich habe jetzt auf die Schnelle keine bessere Fundstelle gefunden als diese auf Seite 7. Alle anderen Grade gehen natürlich nicht verlustfrei, vermutlich meintest du das.
Warum der TE nicht eine der von mir...
-
Forum: Multimedia
Delphi
by Benmik,
6. Jul 2020
Der Explorer erkennt - wie viele Programme - die Ausrichtung und dreht die Anzeige (nicht das JPG!) entsprechend. Bei den von dir eingestellten Bildern fehlen aber alle EXIF-Daten. Ist aber egal, ändert ja nichts an der Aufgabenstellung.
-
Forum: Multimedia
Delphi
by Benmik,
6. Jul 2020
Ich kenne Exiftool. Du startest das Programm mit ShellExecute und liest dann den DOS-Output aus?
-
Forum: Multimedia
Delphi
by Benmik,
6. Jul 2020
Wie liest du das aus ExifTool aus?
-
Forum: Multimedia
Delphi
by Benmik,
6. Jul 2020
Hast du meinen Beitrag gelesen?
-
Forum: Multimedia
Delphi
by Benmik,
6. Jul 2020
Da ich seit Jahren an einem Bildsichtungsprogramm arbeite, habe ich mit doch ziemlich mit JPG beschäftigt, und notgedrungen auch mit den EXIF-Markern und mit verlustfreier Rotation. Ich bin dabei dauernd auf der Suche nach der besten Lösung; allerdings geht es dabei eher um die schnellste Dekompression zu einer Bitmap.
Das reine Auslesen der Ausrichtung ist relativ trivial, das kannst du "zu...