Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PNG Resizer (https://www.delphipraxis.net/190973-png-resizer.html)

Ghostwalker 24. Nov 2016 15:53


PNG Resizer
 
Liste der Anhänge anzeigen (Anzahl: 2)
Ja..so fängts an. Wollt nur fix ein kleines Tool für die Massenskalierung von PNG's bauen
(Ja..ich weiß gibts wie Sand am Meer...aber selber gemacht is halt selber gemacht :))

und dann könnt das noch....und das noch...das wär sicher auch sinnig...

Naja Ihr kennt das sicher auch :lol:

Rausgekomment ist PNG Resizer (siehe Screenshot).

Was mich nun interresiert ist die Geschwindigkeit.

Auf meiner Kiste (Dell Notebook Dual-Core, ohne SSD) braucht
das Programm für 90 PNG's in aller 8 Größen 34 Sekunden.

Wie gut is das ? Was haltet ihr davon ?


[Update]Neue Version

- fix für Verzeichniseinstellungen:

Das eingestellte Verzeichnis wird jetzt auch in den Auswahl-Dialog übernommen.
Zusätzlich wird ein Backslash angehängt, damit es beim speichern der Dateien
richtig verwendet wird.

bra 24. Nov 2016 16:01

AW: PNG Resizer
 
Nehm halt ein Programm wie z.B. IrfanView mit der Batchkonvertierung und lass es über dieselben Dateien laufen, dann hast du einen Vergleich ;)

uligerhardt 24. Nov 2016 16:21

AW: PNG Resizer
 
Hast du auf deinem Windows 10 ne XP-Skin laufen? :angel:

Ghostwalker 24. Nov 2016 16:27

AW: PNG Resizer
 
Neeee.....Win XP auf uralt Nokia :twisted:

Ghostwalker 24. Nov 2016 16:52

AW: PNG Resizer
 
@bra

Ja..auf den Trichter bin ich auch schon gekommen. Nur hab ich kein Programm gefunden, das das in der Art macht.

Irfan-View zum Beispiel kann immer nur 1. Zielgröße auf einmal (mal abgesehen davon das es die Transparenz killt)

Bei anderen Programmen ist es mehr oder weniger das gleiche.

a.def 24. Nov 2016 19:07

AW: PNG Resizer
 
Könntest du ein paar Sample-PNGs bereitstellen, damit wir alle die gleichen Daten verarbeiten können?

Kleiner Tippfehler:
=> Skallieren ==> skalieren

Ghostwalker 25. Nov 2016 06:55

AW: PNG Resizer
 
Ich benutze: http://www.everaldo.com/crystal.html

sakura 25. Nov 2016 08:05

AW: PNG Resizer
 
Zitat:

Zitat von Ghostwalker (Beitrag 1354663)

Hm:
Code:
Oh dear, this page isn't here!

We couldn't find this page. Are you sure the address is correct?
...:cat:...

Whookie 25. Nov 2016 09:44

AW: PNG Resizer
 
Den Crystal Clear Icon-Satz gibts an einigen Stellen im Netz Bei Google suchencrystal icons free und ich habe mal den .\png\actions - Ordner geladen (80 pngs zu 128x128)

Ich lasse alle Größen ausser 128x128 erstellen und das Programm gibt bei mir 11625 ms aus (i7 3820).

Evtl. könntest du das Umwandeln noch in einen Thread packen, dann blockiert das Programm nicht ("Keine Rückmeldung" wird angezeigt).

Ghostwalker 25. Nov 2016 09:53

AW: PNG Resizer
 
Danke Wookie,

ja das mit dem blockieren ist mir gestern Nacht auch aufgefallen :) Werd ich noch beheben.

Aber rund 11,5 Sek ist schon verdammt hurtig. Er muß schließlich 560 Dateien auch noch schreiben.


Aktuellerer Link für PNG's: http://www.iconarchive.com/show/crys...-everaldo.html

Whookie 25. Nov 2016 10:16

AW: PNG Resizer
 
Was mir jetzt noch aufgefallen ist, ich habe in den Einstellungen das Zielverzeichnis geändert (ich habe vorher im png_resizer Ordner ein .\resized Verzeichnis angelegt).

Wenn man dann den '...' - Button drückt könntest du das bereits bestehende Verzeichnis anzeigen.

Was aber noch wichtiger wäre, ist das eingestellte Verzeichnis auch zu verwenden, alle pngs sind wieder im Basisordner gelandet.

Ghostwalker 25. Nov 2016 12:16

AW: PNG Resizer
 
Das mit der Voreinstellung hab ich gefixt.

Das beim Batchlauf allerdings das eingestellte Verzeichnis nicht genommen wird, konnt ich nicht nachvollziehen. Die einzige Erklärung wär, das in den Einstellungen (Text-Feld) der abschließende
Backslash nicht automatisch angefügt wurde (hab ich gleich mit gemacht).

Benedikt Magnus 25. Nov 2016 14:39

AW: PNG Resizer
 
Oder zwei weitere Threads. Der eine zum Berechnen der neuen Größen, der zweite zum Abspeichern.

Ghostwalker 25. Nov 2016 16:30

AW: PNG Resizer
 
Also....zwei Threads wären unsinnig. So hart sind die Berechnungen nicht für die Skalierung :)

Ich könnte die Erzeugung der skalierten Dateien (immerhin bis zu 8 Stück je Quelldatei) auslagern.

Mal sehen ob das nicht sogar noch ein wenig Geschwindigkeit rauskitzelt :)

Benedikt Magnus 25. Nov 2016 16:50

AW: PNG Resizer
 
Wie groß ist denn der Berechnungsaufwand? Und wie viel Zeit verbraucht nur der Schreibanteil? Hast du das mal einzeln gemessen?

Ghostwalker 25. Nov 2016 17:09

AW: PNG Resizer
 
Nein...das packt GetTickCount nicht. :lol:

Ich hab mal versucht die Skalierung und das Schreiben 1 Datei zu messen...
liegt zwischen 0 Millisekunden (also nicht mehr messbar) und 15 Millisekunden (aber nur bei der Größten)

Deswegen bin ich mal eine Stufe höher mit der Messung und hab die komplette Erzeugung für 1. Quelldatei gemessen. Die liegen im Bereich 300-600 Millisekunden.

Benedikt Magnus 25. Nov 2016 17:36

AW: PNG Resizer
 
300 Millisekunden für eine Datei? Also 27 Sekunden für 90 PNGs? Oder habe ich dich falsch verstanden?

Ghostwalker 25. Nov 2016 17:51

AW: PNG Resizer
 
Nein..bei mir waren es 34 Sekunden. Die Zeit schwankt von Datei zu Datei :)

Inzwischen hab ich aber einen kapitalen Hirsch gefunden.......


Mit der korregierten Variante lieg ich etwa bei 48 Sekunden für die 90 Dateien (bei 8 Skalierungen pro
Datei).

himitsu 26. Nov 2016 02:08

AW: PNG Resizer
 
"Geschwindigkeit" beim Speichern:

Du weißt aber, dass Dateien erstmal nur im WindowsFileCache laden und nicht sofort auf die Platte geschrieben werden?
Außer der RAM ist voll oder das Laufwerk ist entsprechend konfiguriert (z.B. USB-Sticks und externe Festplatten).

Aus dem selben Grund werden Dateien bei wiederholtem Zugriff schneller geladen, wenn sie nach dem ersten Lesezugriff immernoch im WFC liegen.

Ghostwalker 26. Nov 2016 06:45

AW: PNG Resizer
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das der Filecache von Windows hier reinspielt ist mir durchaus bewußt :) Außerdem spielt zusätzlich ja auch der HD-Cache da rein.

Trotzdem bin ich positiv Überrascht, das das ganze so hurtig ist :)


Anbei noch mal ein Fix.

Jetzt wird auch die richtig Skallierung genutzt, was allerdings das ganze langsamer gemacht hat.

Aktueller Stand bei 90 Quelldateien liegt bei ca. 45 Sek.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz