AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Image-Resize mit IGPI+ (Mitov)

Image-Resize mit IGPI+ (Mitov)

Ein Thema von MartinK · begonnen am 22. Aug 2021 · letzter Beitrag vom 25. Aug 2021
Antwort Antwort
MartinK

Registriert seit: 21. Jun 2009
Ort: Germering (Germany)
80 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Image-Resize mit IGPI+ (Mitov)

  Alt 22. Aug 2021, 20:41
Hallo
ich bin auf der Suche nach Infos (Sourcecode?) wie man mit der Unit IGDIPlus Bilder incl. evtl enthaltener EXIF Daten "Re-Sizen" (verkleinern) kann.

Nach meiner Suche im WWW bin ich inzwischen soweit das man mit IGPImage mit dem TIGPEncoderValue(NewWidth) hier "etwas machen können sollte"... ich stehe aber leider auf dem Schlauch wie das laufen könnte

Delphi-Quellcode:
var
  IGDPImage: IGPImage;
  NewWidthEV,NewHeightEV: TIGPEncoderValue;
  ImgWidth,ImgHeight: UInt32;
  ResizedWidth : Integer;

begin
  ResizedWidth := 1920;
  IGDPImage := TIGPImage.Create('C:AnEXIF_JPG.jpg');
  NewWidthEV := TIGPEncoderValue(NewWidth);
  EncoderTransformValue := Ord(NewWidthEV);
  EncoderParameters.Parameter[0].Value := @EncoderTransformValue;
  ImgWidth := ResizedWidth;
  PPropOItem.Value := @ImgWidth; // => Exception
  IGDPImage.SetPropertyItem(PPropOItem^);

//.......
jegliche Rückmeldung ist "very welcome"

vG Martin
Martin Kuhn
  Mit Zitat antworten Zitat
venice2

Registriert seit: 5. Dez 2019
Ort: Köln
706 Beiträge
 
Delphi 2010 Architect
 
#2

AW: Image-Resize mit IGPI+ (Mitov)

  Alt 22. Aug 2021, 21:57
Extrahiere die EXIF Daten vor dem ändern der Größe und füge sie nach der Änderung wieder ein.
https://www.delphipraxis.net/177255-...bertragen.html

Geändert von venice2 (22. Aug 2021 um 22:03 Uhr)
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
441 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Image-Resize mit IGPI+ (Mitov)

  Alt 22. Aug 2021, 22:32
Bist du auf GdiPlus festgelegt oder kommt auch anderes in Frage?

Man muss wissen, GdiPlus ist ja Microsoft, und die gehören (wie z.B. Adobe) zu jenen, die glauben, es sich leisten zu können, alle Regeln mit Füßen treten zu können. Das gilt bei GdiPlus ganz besonders für die EXIF-Daten, die von MS regelrecht durch den Fleischwolf gedreht werden.

Ich habe mittlerweile eine eigene EXIF-Unit, die neben EXIF noch so einiges mehr macht; aber davor hatte ich eine Lösung mit FreeImage, wovon ich noch einen Codeschnipsel rumliegen habe. Du wirst ja vermutlich nach dem Verkleinern auch noch schärfen und das alte Dateidatum wiederherstellen wollen, das ist da auch mit drin.
  Mit Zitat antworten Zitat
MartinK

Registriert seit: 21. Jun 2009
Ort: Germering (Germany)
80 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Image-Resize mit IGPI+ (Mitov)

  Alt 23. Aug 2021, 10:55
Ich bin generell nicht auf GDIPlus/IGPI+ festgelegt. Das wäre nur mein favorisierter Ansatz gewesen da ich das ohnehin benötige um Bilder bei denen eine Rotation vorliegt, die im EXIF ja definiert, ist korrekt zu bearbeiten.

Was meine echten/minimalen Anforderungen sind
- "Etwas das ich bei mir in den Sourcecode einfügen kann"
(keine dll., extrenes Programm das ich aufrufe etc)
- Aufgabe:
1) Lese ein vorhandenes Bild und checke die Auflösung
2) Ist die Bildbreite (Width) größer als eine per Functions-Parameter übergebene "Maximalbreite"
-> Bild entsprechend mit Höhen/Breitenverhältnis runtersaklieren.
(ich erwarte kein Photoshop-Like down-sizing qualität)
3) "Überschreiben" des originalbildes mit dem ge-downsizten Bild,
mit Übernahme der wichtigsten EXIF Infos

vG M
Martin Kuhn
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.840 Beiträge
 
Delphi 7 Professional
 
#5

AW: Image-Resize mit IGPI+ (Mitov)

  Alt 23. Aug 2021, 13:25
Guck Dir bitte mal ImageEn an. Das ist extrem vielseitig und leistungsfähig (aber nicht umsonst). Es werden keine weiteren Extras benötigt.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.803 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Image-Resize mit IGPI+ (Mitov)

  Alt 23. Aug 2021, 13:55
Du könntest auch die Windows Image Components (WIC) benutzen.

Skalieren:
https://stackoverflow.com/a/58113571
Beiträge 5 und 6:
https://www.delphipraxis.net/183061-...che-dinge.html

Ausgeprägter Support für EXIF:
https://docs.microsoft.com/en-us/win...about-metadata

Geändert von TiGü (23. Aug 2021 um 14:21 Uhr)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.606 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Image-Resize mit IGPI+ (Mitov)

  Alt 23. Aug 2021, 14:26
.. oder image32

die ist recht schnell und nimmt auch, so weit ich weiß, die exif Daten mit.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
MartinK

Registriert seit: 21. Jun 2009
Ort: Germering (Germany)
80 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Image-Resize mit IGPI+ (Mitov)

  Alt 25. Aug 2021, 21:00
Ich habe jetzt zuerst mal "Image32" getestet.
Was für eine Vielzahl an Optionen für Bildbearbeitung. Wahnsinn!
+ "Resize" und "Sharpen" funktionieren gut und superflüssig
- Mit den EXIF-Infos bin ich noch nicht weiter. Ich denke es gibt hier keine Option innerhalb dieser Unit
- "Compress" kann sie denke ich leider auch nicht

----------
Den Vorschlag mit WIC werde ich mir ebenso nochmal ansehen und berichten
----------
ImageEn ist für mich etwas too much. 300..400€ nur für die Lizenz kann/will ich mir nicht leisten da ich das nur als Hobby betreibe
----------


Vielen Dank schonmal für die vielen Vorschläge!

vG Martin
Martin Kuhn
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf