AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Seitenverhältnis von PNG-Grafiken ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Seitenverhältnis von PNG-Grafiken ändern

Ein Thema von 100nF · begonnen am 13. Mär 2012 · letzter Beitrag vom 14. Mär 2012
Antwort Antwort
Seite 1 von 2  1 2      
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#1

Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 16:49
Hallo zusammen,

Ich habe hier sehr viele PNG-Bilder, in allen möglichen Auflösungen und Seitenverhältnissen, also alles wild durcheinander. Einzig der Dateityp ist bei allen gleich

Diese Dateien sollten jetzt irgendwie in ein bestimmtes Seitenverhältnis gebracht werden, und zwar vollautomatisch weil es viel zu viele wären um es von Hand zu machen.

Das heisst also, die Abmessungen der Bilder müssen eingelesen werden, um dann entscheiden zu können ob das Bild links und rechs, oder oben und unten erweitert werden muss. Das ursprüngliche Bild soll schlussendlich in der Mitte des neuen, grösseren Bildes liegen. Schön wäre auch noch ein Rand von vielleicht 10 Pixel, der rund ums ursprüngliche Bild hinzugefügt wird. Die Bilder haben alle einen weissen Hintergrund, und das sollen sie auch nach dem Bearbeten noch haben.

Es ist nur eine einmalige Sache, deshalb ist es mir völlig wurscht wie das passieren soll. Ich habe viel im Internet gesucht, vorallem irgendwelche Bash-Skripte für Linux, habe aber leider nichts passendes gefunden. Bin auch kein Skript-Profi, also selberschreiben fällt weg. Da dachte ich halt ich versuchs mit Delphi, das liegt mir am besten.

Das Auflisten und Anzeigen der Dateien sowie die Bestimmung der aktuellen Grösse und der neuen Grösse ist auch kein Problem. Danach happerts dann aber bei der Erzeugung eines neuen, leeren PNGs. Darf ich das mit einem TBitmap machen? Ich muss die Bilder wieder als PNG abspeichern können, und zwar möglichst ich gleicher Qualität wie sie ursprünglich waren.

Wäre super wenn mir da jemand Tipps geben könnte! Wie gesagt, es muss nicht mit Delphi sein, ist mir egal wie das ganze ablaufen soll, hauptsache das Ergebnis passt

Viele Grüsse
Urban
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 16:54
Spontan: "Batch conversion" in IrfanView. Ne Menge Dateien aussuchen, "Use advanced options" anwählen, dort "RESIZE" mit vorgegeben Werten, und natürlich "Preserve aspect ratio".

Wenn Du wirklich noch einen Rahmen haben willst, das ganze nochmal mit "Don't enlarge smaller images".

Gleiche Qualität ist natürlich "unmöglich" - jede Größenveränderung (wenn es um die Größe in Pixeln geht, wenn es um die Druckgröße geht, wäre es eine Option, die DPI anzupassen) bedeutet umrechnen. Aber die Qualität von IrfanViews Größenänderungen ist mMn ganz in Ordnung.
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#3

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 17:02
Hallo CCRDude,

Spontan: "Batch conversion" in IrfanView. Ne Menge Dateien aussuchen, "Use advanced options" anwählen, dort "RESIZE" mit vorgegeben Werten, und natürlich "Preserve aspect ratio".
Entweder hast du mich falsch verstanden, oder ich versteh deine Antwort falsch "Preserve aspect ratio" heisst ja "Seitenverhältnis beibehalten", aber genau das möchte ich ja nicht. Ich möchte das Seitenverhältnis ändern, indem ich oben+unten oder links+rechts das Bild erweitere mit weissem Hintergrund.

Gleiche Qualität ist natürlich "unmöglich" - jede Größenveränderung (wenn es um die Größe in Pixeln geht, wenn es um die Druckgröße geht, wäre es eine Option, die DPI anzupassen) bedeutet umrechnen. Aber die Qualität von IrfanViews Größenänderungen ist mMn ganz in Ordnung.
Nein, das sollte eben nicht unmöglich sein. Das ursprüngliche Bild bleibt ja genau so bestehen wie es war, ist also genau gleichviele Pixel hoch und breit. Es wird lediglich der Hintergrund des Bildes erweitert, so dass das gesamte Bild (mit Hintergrund) schlussendlich grösser ist als das ursprüngliche.

Das Bild soll also einfach in ein etwas grösseres, leeres Bild hineinkopiert werden.
Ich hoffe das ist jetzt verständlich
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 17:22
Ah, ok, zwei Mißverständnisse

Für Argument 2: Dann verwende gleich "Don't enlarge smaller images"

Für Argument 1: Ich vermute, "Preserve Aspect Ratio" bezieht sich nur auf das "Bild im (neuen größeren) Bild". Wegen obigen Punktes wird diese Option aber eh unnötig, da hatte ich Dich falsch verstanden.

Oder anders gesagt: so dürfte das im IV noch einfacher sein.
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#5

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 17:57
Also ich glaube nicht, dass IrfanView das kann.

Ich habe jetzt mal folgendes probiert:
(Alle Bilder sind zwischen 400 und 1000 Pixel breit und hoch)

RESIZE auf "set new size", "Set one or both sides to": Grösse versuchshalber 320x240 und 1600x1200
und Haken bei "Preserve aspect ratio" und "Don't enlarge smaller images"

Ergebnis: Die Bilder werden einfach nur runterskaliert, keine Änderung am Seitenverhältnis.
Ohne "Preserve aspect ratio": Die Bilder werden gestaucht.
Ohne "Don't enlarge smaller Images": Die Bilder werden nur rauf- bzw. runterskaliert.
Ohne beides: Die Bilder werden gestreckt bzw. gestaucht.

Das gewünschte Ergebnis konnte ich nicht erzielen. Ist aber auch kein Wunder wenn IV das nicht kann, braucht irgendwie ja auch kein Mensch
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#6

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 18:06
Ich habe mal ein Bild gezeichnet wie ich mir das vorstelle, spätestens jetzt sollte es leicht verständlich sein was ich erreichen will

Das ist jetzt ohne die ca. 10 Pixel Rahmen die ich mal erwähnt habe, die sind (vorerst) aber auch egal.
Das Bild wird einfach nur erweitert, damit sich ein anderes Seitenverhältnis ergibt.
Miniaturansicht angehängter Grafiken
bildbearbeitung.png  
  Mit Zitat antworten Zitat
Gustav.R
(Gast)

n/a Beiträge
 
#7

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 18:52
Ja, das sollte mit IrfanView gehen, wie CCRDude schon geschrieben hat!

Probier IrfanView doch einfach aus, ist doch (super!) Freeware...

Mit der Zeit, die wir hier "vertrödeln", hättest Du's schon ein paarmal testen können, ob es klappt

GG
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#8

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 19:15
Na wenn du wüsstest was ich schon alles ausprobiert habe...
Zuerst auf Linux (arbeite nichtmehr mit Windoof), da gibts auch ein paar wenige aber sehr mächtige Kommandozeilenprogramme um Bilder zu bearbeiten, der bekannteste Befehl ist wohl "convert". Das scheint allerdings für mein Vorhaben nicht mächtig genug zu sein.

Dann habe ich mein virtuelles Windows angeschmissen, da hatte ich IrfanView schon drauf. Nach langem Rumprobieren musste ich auch das aufgeben. Scheint nicht möglich zu sein. Habe dann sogar noch irgendwelche Shareware Programme runtergeladen, aber selbst da wurde ich nicht fündig.

Eigentlich eine so simple Sache - nach genauerem Betrachten scheint es aber doch einiges schwieriger zu sein

Wenn du, Gustav, mir sagen kannst wie ich das mit IrfanView mache hast du meinen Respekt und Dank verdient
Vielleicht bin ich ja auch einfach zu blöd dafür. Ich habe die Aufgabe aber keinesfalls einfach kampflos dem Forum übergeben

Nachtrag:
Wenn ich mir das Einstellungsfenster von IrfanView so anschaue, finde ich auch keine Einstellung, die das gewünschte Ergebnis vermuten lässt. Also ich meine keine dieser englischen Bezeichnungen scheint für mein Vorhaben "gemacht" zu sein. Müsste ja irgendwie "Fix aspect ratio" oder so ähnlich heissen...

Geändert von 100nF (13. Mär 2012 um 19:29 Uhr)
  Mit Zitat antworten Zitat
Gustav.R
(Gast)

n/a Beiträge
 
#9

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 19:32
Weiß ich natürlich nicht!

Ich würde es mal so wie im angehängten Screenshot mit IV angehen.

Häng' doch ein mal ein paar Deiner "ProblemPNGs" an eine Antwort und schreib dazu, was genau rauskommen soll?

GG

Edit1 meint, klick auf "Options/Change language..." dann wird's Deutscher
Edit2 meint, siehe CCRDude "Use advanced options"!
Miniaturansicht angehängter Grafiken
urban.jpg  

Geändert von Gustav.R (13. Mär 2012 um 19:42 Uhr) Grund: Babylon
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#10

AW: Seitenverhältnis von PNG-Grafiken ändern

  Alt 13. Mär 2012, 19:53
Das geht leider auch nicht, habe ich auch schon probiert.
Die tatsächliche Grösse des Ausgabebildes soll ja von der Grösse des Eingabebildes abhängig sein. In den von dir genannten Einstellungen gibt man ja die Ausgabegrösse bereits an, und alle Bilder werden dann einfach zentriert in diese Grösse hineinkopiert. Dann ist aber rundherum viel zu viel Rand vorhanden. Es soll aber nur an zwei Seiten (entweder links/rechts oder oben/unten) ein Rand entstehen.

Mein vorher hochgeladenes Bild sollte ja klar genug sein, aber ich kann natürlich auch ein Musterbeispiel anhängen. Das Eingabebild "bild_original.png" soll in ein 4:3 Format gebracht werden ("bild_neu.png"). Sie müssten jetzt genau gleich hoch sein, sind sie aber nicht genau weil ich die Bearbeitung von Hand vorgenommen habe.

Falls jemand weiss wie ich in Delphi ein neues PNG erzeugen une ein anderes da hineinkopieren kann würde mir das ja schon genügen, dann bin ich vollumfänglich zufrieden

EDIT: weiss der Geier warum das Forum eine meiner PNG-Dateien als jpg hochlädt...Habs mehrfach versucht und der Pfad im Edit-Feld endet definitiv mit ".png", nach dem Hochladen ists dann ein jpg

EDIT2: Ach, und wenn ich bei IV eine geringere Grösse angebe als die Originalbilder schon sind, dann schmiert das Programm ab
Miniaturansicht angehängter Grafiken
bild_original.jpg   bild_neu.png  

Geändert von 100nF (13. Mär 2012 um 19:57 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 +1. Es ist jetzt 06:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz