Projektvorstellung: Graphic Work Bench

(DE) Anwendungen für Office, Multimedia und Spiele, Werkzeuge, Hilfsprogramme, etc
(EN) Applications for Office, Multimedia or Games, Tools, Utilities, e.g.
Antworten
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Projektvorstellung: Graphic Work Bench

Beitrag von Frank Wochatz »

Zur Zeit arbeite ich mal wieder an meiner Graphic Work Bench (kurz: GWB).

Ich hatte das Projekt schonmal auf os2.org angekündigt. Es geht darum, ein Programm bzw. eine Sammlung von Tools zu entwickeln, die für die Bearbeitung und das Handling von Bilddateien nützlich sind.

Wir haben unter OS/2 verschiedene leistungsstarke Commandlinetools, die sich aber mitunter relativ schwierig bedienen lassen. GWB soll nun dafür einige vorgefertigte Tools bzw. Frontends bieten.

Das erste Modul, an dem ich gerade arbeite und das schon recht fortgeschritten ist, ist eine Art Ersatz für den Leuchttisch.

Wie in einen Ordner mit Detailansicht lassen sich darin Bilddateien per Drag and Drop oder alterantiv über einen "Datei Öffnen"-Dialog einfügen. Im Gegensatz zu einem Standardordner werden dabei größere Vorschaubilder erzeugt. Unter OS2 werden üblicherweise ja nur Icons in der maximalen Größe von 40x40 unterstützt. In dem GWB-Order ist die Größe einstellbar (im Screenshot 130x130 Pixel)
gwb-folder.png
gwb-folder.png (135.15 KiB) 4627 mal betrachtet
Diese Vorschaubilder aka Thumbnails werden dabei nach dem Drop 'on-the-fly' generiert, und nicht gespeichert (als anders als man es zB. von PMView kennt, welches die Thumbnails in den erweiterten Attributen ablegt). Das funktioniert zZ. auch bei riesigen Bildern dank hervorragender Algorythmen in ImageMagick im DINA0 Format in guter Geschwindigkeit und bietet einige Vorteile.

Der GWB-Bildordner ist dabei aber nur ein virtueller Ordner. Dateien, die dort zugefügt werden, werden nicht dorthin verschoben, sondern GWB arbeitet mit Links.

Mit dem GWB-Folder zusammegestellte Dateilisten können gespeichert und wieder geladen werden.

Als Backends verwende ich zZ. ImagaMagick für die Bildmanipulationen (z.Z. erstmal nur Erstellung der Thumbails) und GBM (für die Detailinformationen).


Die nächsten geplanten Schritte sind:
  • Implementierung zum Öffnen von normalen WPS-Ordnern mit der GWB-Folder-Ansicht über das Konetextmenue, so das Bilddateien aus Ordnern gefiltert und angezeigt werden (dies wird eWP oder XWorkplace erfordern)
  • Aktivierung einer Rexxschnittstelle, so dass Dateien aus dem Folder mit Rexxscripten im Batchmode bearbeitet werden können.
  • eine Verwaltung für Skripte, ev. in Form einer Toolbar, über die externe Skripte dann angezeigt und gestartet werden können.
  • last but not least dann die Erstellung von Skripten bzw. Bearbeitungsgtools.

Meine Nerd-Designansprüche dabei sind:
  • natives Frontend mit Standard-OS2-Controls
  • OS2-konforme Wohlfühl-GUI
  • bestmögliche WPS-Integration

Bei den Bearbeitunsgtools werde ich erstmal auf Funktionen setzen, die nicht oder nicht ausreichend in PMView enthalten sind. GWB soll PMView nicht ersetzen, sondern ergänzen. Die Programmsprache ist erstmal nur Englisch, da ich davon ausgehe, dass in naher Zukunft OS2 oder eCS eh nur noch in Englisch zu bedienen sein wird.



Ich komme aus Zeitgründen nur sporadisch dazu, an dem Projekt zu arbeiten. Termine will ich keine Versprechen. Wer mitmachen will, und ev. in Absprache eigene Module schreiben will (vorzugsweise in Vispro/Rexx), möge sich melden. Den Sourcecode stelle ich gerne zur Verfügung.
Benutzeravatar
wilfried
Beiträge: 667
Registriert: Mo 23. Dez 2013, 18:26
Wohnort: Barsinghausen
Kontaktdaten:

Beitrag von wilfried »

Hallo Frank,

Grafische Tools gehören bisher nicht zu meinen Schwerpunkten, trotzdem hätte ich aktuell Zeit und Interesse etwas neues zu lernen.
Falls Du also den Elefanten in Scheiben schneiden kannst, her damit! ;-)
Benutzeravatar
DonLucio
Beiträge: 950
Registriert: So 29. Dez 2013, 01:14
Wohnort: Hamburg
Kontaktdaten:

Beitrag von DonLucio »

Hallo Frank,

kann man deinen "Leuchttisch" auch mal selbst ausprobieren, d.h. existiert eine downloadable (+ installable) Version?

In deinem Screenshot sind nur BMPs zu sehen, ich nehme aber mal an, dass auch JPGs und TIFFs funktionieren?

Vorweg schon mal Danke und Anerkennung für deine Arbeit!

Gruß,
Don Lucio.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Hallo und Danke für die Rückmeldungen!

@Wilfried: ich überleg mir mal was.

@Lutz: ich stell in Kürze ein Paket zum Download zusammen. Es werden alle geläufigen Grafikformate unterstützt. Getest habe ich bmp, png, tif und jpg. Probleme gibt es zur Zeit lediglich bei Multipage-Bildern, aufgefallen bei einigen System-BMPs aus eCS 2.0. Das läßt sich ev. verschmerzen, könnte man aber sicher auch mit etwas Aufwand unterstützen.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Unterstützte Formate für die Details: http://heikon.home.tlink.de/

Unterstützte Formate für die Thumbnails: http://www.imagemagick.org/script/formats.php

Sinnvolle Anwendung: die Schnittmenge beider Programme (das dürften ohne genau verglichen zu haben alle GBM Formate sein, da IM m.E. eh alles unterstützt, GBM aber nur einige).
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Hier kommt mal eine erste Version des Light Tables zum ausprobieren (Beta Status!):

http://www.subsys.de/GWB_0_2.ZIP

Das Programm enthält GBM und Imagemagick. Da verschiedene Versionen dieser Pakete unterschiedlich arbeiten, habe ich die unterstützten Programme beigefügt. Später gibt es dafür ein Paket extra.

Die Verzeichnsistruktur muss zZ. beibehalten werden, d.h. so wie im ZIP File enthalten das Paket in ein eigenes Verzeichnis (zB. "GWB") entpacken.

"install.cmd" legt auf dem Desktop einen Ordner mit einer Leuchttischablone an. Diese kann benutzt werden, um neue Leuchttische zu erstellen.


Bitte folgende Dateien noch in ein Libpath Verzeichnis kopieren:

..\tools\gbm\gbm.dll nach c:\os2\dll\ kopieren
Nachtrag:
..\tools\gbm\gbmdlgrx.dll nach c:\os2\dll\ kopieren
..\tools\gbm\gbmrx.dll nach c:\os2\dll\ kopieren


Auch mal mit einem Suchtool schauen, ob noch andere GBM.DLLs im System verschimmeln und diese mal entfernen, da insbesondere einige eCS Versionen mit einer alten GBM.DLL ausgeliefert werden.

..\tools\im\bin\magick.dll nach c:\os2\dll\ kopieren

..\vprexx.dll nach c:\os2\dll\ kopieren
(wenn nicht schon vorhanden, auch hier mal überprüfen!)


An dem Programm gibt es noch einiges zu tun, aber ich denke für einen ersten Eindruck ist es schon ganz gut.

Ich hoffe, die Installation mit der WPS-Schablone klappt bei Euch, ich hab das noch nicht auf anderen Systemen getestet. Die WPS-Integration ist ein wenig tricky, auch wenn sie ev. trivial erscheint. Notfalls kann man die Schablone von Hand anlegen, bzw. wird das dann gefixed, bitte sagt bei Problemen Bescheid.



Was geht:

- Bilddateien per Drag & Drop in den geöffneten Folder werfen, dort verschieben, auch wieder raus draggen und woanders droppen.
- Bilddateien us dem Light Table öffnen, oder den Ordner oder einen Konsole öffnen
- Bildlisten exportieren und importieren
- Bilder über einen Datei-Öffnen Dialog hinzufügen.
- Anzeige von Bildetails (Größe Farbtiefe, Typ...) in Detailview
- Thumbnails 'on-the-fly"


Richtig Spaß machen Thumbnails mit JPEG Dateien, auch richtig große Dateinen werden da schnell umgewandelt. Andere Formate brauchen länger (mal schauen, ob das noch besser geht).


Wie bei Ordnern üblich gibt es keine "Save" oder "Speichern" Funktion. Zusammengestellte Bildlisten werden automatisch beim Schließen gespeichert. Das Dateimanagment für die Light Tables erfolgt also über die WPS.

Für die Techies:

Die Light Tables sind einfache ASCII-Dateien. Diese werden als Dateityp "GWBLightTable" mit dem eigentlichen Programm verknüpft. Die Dateien enthalten:

1. Zeile: Header-Information: Fensterposition_X : Fensterposition_Y : Fenstergöße_X : Fenstergöße_Y : Thumbnailgröße

-> damit entlaste ich die WPS und mülle nicht die OS2-Inis voll.

2. Zeile 2 und folgende:
Die Dateilinks (Drive:\pfad\bild.ext), je eine Datei in einer Zeile.

Die Dateien sollten nicht extern bearbeitet werden, da sonst die erweiterten Attribute kaputt gehen. Zum Reparieren der eAs gibt es aber ein Script "fixeA.cmd", für 'fortgeschrittene User.


Diesen Tetxt hier gibt auch im ZIP als Readme-Datei, allerdings mit vielen Tippfehlern. Hab nur grade keine Lust, das Paket nochmal hochzuladen. :)
Batchheizer
Beiträge: 57
Registriert: Do 2. Jan 2014, 10:46

Beitrag von Batchheizer »

Hallo Frank,
das Tool sieht sehr gut aus und gefällt mir. Für meine Zwecke wäre ein Anzeigen von EXIF-Informationen (Date/Time, Author, Comment...) sehr hilfreich. Auch ein Editieren dieser Felder wäre super. Danke für deine Arbeit an dem Tool.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Hi Batch,

Danke für das Feedback. Ja, EXIF-Unterstützung wäre wichtig. Mal sehen, wie man das am besten einbauen kann. Schau ich mir an.

Übrigens zeigt der Leuchttisch schon PNG-Dateien an, die unter PMView oder anderen OS/2 Bildbetrachtern einfach nur schwarz sind bzw. garnicht angezeigt werden. :)

Zur Info: Es gibt noch einen Bug mit Leerzeichen im Dateinnamen (Fix ist hier schon erledigt, kommt im nächsten Upgrade), und eine Größenänderung der Thumbnails in den Settings wird noch nicht übernommen. Das kommt dann natürlich auch noch, ist in Vorbereitung.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Libraries zur Exif-Unterstützung habe ich gefunden, das sollte also technisch kein Problem sein.

Die Frage ist halt wie man das einbaut. In der Detailseite des Leuchttisches macht es ev. nicht so viel Sinn, da ja imo nur JPEG und TIFF diese Metainfos unterstützen. Da würde ich lieber auf dem kleinsten Nenner bleiben, den alle Bilddaten haben. Zudem unterstützen verschiedene Kameras unterschiedliche Exif-Datenfelder. Nicht ganz einfach, dies zu vereinheitlichen. Man könnte natürlich die Detailspaltenasicht dynamisch aufbauen, je nachdem welche Exif-Felder da sind, entsprechende Spalten erstellen. Allerdings wird dann die Detailtabelle breit und passt bald nicht auf den Bildschirm, und kompliziert ist das auch.

Ev. müsste man die wichtigen Daten, die man auf 'einen Blick' sehen möchte in die Details aufnehmen. Z.B. das Kommentarfeld, ev. die Zeit und den Ort.

Um Platz zu sparen könnte man auch mehrzeilige Infos in der Dateilansicht einblenden.

Ansonsten stelle ich mir das Momentan so vor, dass man die kompletten Exif-Daten in einem anderen/eigenen Fenster ansehen kann. Dann würde ich vorschlagen, dass man nur das Kommentarfeld und Autor bearbeiten und ev. das Datum/die Zeit korrigieren kann, alles andere macht eigentlich keinen Sinn.

Btw, zum Vergleichen von JPEG Informationen in einer Liste gibt es ja auch PmExif vom Lutz. Ideal für Forografen, die speziell einige Exif-Daten vergleichen wollen.


Aber nochmal was Grundsätzliches zu Meta-Daten:

Exif in JPEGs ist kein richtig gut geeigenetes Protokoll für Metadaten, wenn es um Bildbearbeitung geht. Denn für Bildbearbeitung müssen die Bilder als erstes in ein Format gespeichert werden, welches verlusfrei (oder garnicht) komprimiert (zB. PNG). Denn bei jedem Abspeichern in JPEG wird die Bildqualität schlechter. Es ist ein No-Go mit JPEG zu arbeiten. Und beim Konvertieren bzw. Abspeichern gehen die Meta-Daten verloren. Exif ist eigentlich nur für den Rohzustand der Bilder, und für das fertige Bild zur Archivierung geeignet. Und da beisst sich die Katze in den Schwanz, wenn die Archivbilder nach Bearbeitung keine Exif Infos mehr haben.

Die einzige sinnvolle Alternative ist eigentlich, Meta-Dateien anderswo als im Bild abzuspeichern. Ich hatte mal an erweiterte Attribute gedacht, allerdings machen viele Programme die eAs ebenfalls kaputt. Dann bleibt eigentlich nur eine Datenbank, in der die Infos stehen. Oder eine Möglichkeit wäre zB. eine kleine *.info Datei zu jedem Bild zu erstellen. Darin könnte man auch Exif-Infos abspeichern, und das wäre auch portabel auf andere Systeme.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Hier gibt es ein Mini-Update mit ein paar Bugs weniger, sowie automatischer Drehung von Foto-Thumbnails über die Exif-Orientierung (auto-orient):

http://subsys.de/gwblt.exe

(nur die exe, zum Austauschen)
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Ich habe nun mal einen Prototypen für ein zweites Modul erstellt: Graphic Work Bench - Tool

Mich würde dazu Eure Meinung interessieren.

Die Idee ist, die Bilddateien in einem Fenster anzuzeigen (oben, eine Preview des Bildes), und unten in einem OS/2 -Notizbuch alle Einstellungen anzuzeigen, die man dort auch ändern kann. Momentan habe ich Exif-Unterstützung eingebaut (erstmal nur Lesen).
gwb-tool.jpg
gwb-tool.jpg (64.39 KiB) 4255 mal betrachtet
Weiterhin will ich dort auch Bildbearbeitungsfunktionen einbauen. zB. könnte man da eine Notizbuchseite für Filter haben. Wählt man einen Filter aus, kann der auch gleich auf das Vorschaubild oben angewendet werden, so dass man auch bei größeren Bildern eine schnelle Vorschau hat (Preview). Die Vorschau ist dazu im Prinzip eine temporäre Datei, eine Verkleinerung des eigentlichen Bildes. Dann können Filter natürlich auf auf das eigentliche Bild angewendet werden (Save).

Die Notizbuchgeschichte hat den Vorteil, dass man das Tool beliebig um Notizbucheseiten erweitern kann (ausbaufähig), und das es auch os/2-mäßig rüberkommt. Die Bildvorschaugröße wäre allerdings fix.

Das GWB Tool könnte man aus dem Leuchttisch zu jeder Datei aufrufen, aber auch direkt von dr WPS starten, zB. aus dem Kontextmenü einer Bilddatei.
Batchheizer
Beiträge: 57
Registriert: Do 2. Jan 2014, 10:46

Beitrag von Batchheizer »

Das sieht alles gut aus und deine Vorstellungen hören sich gut an. Bei der Exifseite wäre eine Auswahl der Infos für mich sinnvoll - wenn man das für sich selber konfigurieren könnte wäre das super. Danke für deine Arbeit - ich bin gespannt auf die nächste Version. An Tools bräuchte ich: drehen, konvertieren, Exif-Comment (u.a.) editieren, umbenennen nach EXIF-Date,
Benutzeravatar
Thomas Müller
Beiträge: 424
Registriert: Di 24. Dez 2013, 13:14
Wohnort: Bremen

Beitrag von Thomas Müller »

Eine Riesensache für mich wäre die Unterstützung des DNG-Formats. Das ist das Dateiformat, welches Leica als Rohformat nutzt. Nach ein wenig Suche habe ich für mich herausgefunden, dass es unter dem Win-Programm IrfanView ein Plugin gibt (als DLL), welches es ermöglicht diese Dateien zu betrachten. Also wenn das mit deinem Programm zu realisieren wäre, wär das super.
Bisher muss ich wie gesagt auf Windoof ausweichen.

Viel Erfolg bei deinem neuen Projekt und Gruß aus Bremen

Thomas
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Hi Thomas,

Imagemagick unterstützt ja DNG. :)

Ich benutze Imagemagick intern für alle Bearbeitungsfunktionen, insofern wäre das kein Problem. Eigentlich...

Im Moment gehts noch nicht mit dem LightTable, weil ich die Bilddateien vor der Anzeige mit einem anderen Programm (GBM) checke, ob es überhaupt Bilddateien sind. Und GBM unterstützt leider kein DNG. Ich mache das weil es so erstmal einfacher und besser geht. Für solche Dateiformate müsste man das umbauen, wäre kein grosses Problem.

Kannst Du mir bitte dazu mal ein DNG File schicken? Das wäre für mich für Testzwecke erforderlich.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

Batchheizer » Mi 16. Jul 2014, 15:28 hat geschrieben:Das sieht alles gut aus und deine Vorstellungen hören sich gut an. Bei der Exifseite wäre eine Auswahl der Infos für mich sinnvoll - wenn man das für sich selber konfigurieren könnte wäre das super. Danke für deine Arbeit - ich bin gespannt auf die nächste Version. An Tools bräuchte ich: drehen, konvertieren, Exif-Comment (u.a.) editieren, umbenennen nach EXIF-Date,

Wie wäre es denn, wenn man einige wichtige Exif Infos in dem Leuchttisch in der Detailansicht als Spalten anzeigt. Also nicht alle 150, aber ev. 3 oder 4. ZB. "Kommentar", "Datum"+"Zeit" und "Autor". Wobei "Autor" scheinbar selten von Kameras gesetzt wird ... (oder?). Im Notizbuch gibt es dann die kompletten Informationen.

Konvertieren: hier möchte ich nur wenige Zielformate unterstützen, aber möglichst viele Formate lesend unterstützen. Was wären denn die wichtigsten?

Für mich wären das OS2BMP, JPG, PNG

PNG möchte ich gerne als erstes und am besten unterstützen, da es imo das beste Format ist. Verlustfrei, komprimiert, standardisiert - und es wird unter OS/2 bislang nur recht schlecht unterstützt (selbst von PMView).

TIF ist damit eigentlich obsolet, wird aber von Grafikern immernoch häufig verwendet. Mal schauen.

Gelesen werden soll natürlich alles, und 1:1 abspeichern soll man auch alles können, was gelesen wird.
Batchheizer
Beiträge: 57
Registriert: Do 2. Jan 2014, 10:46

Beitrag von Batchheizer »

An Formaten brauche ich: TIFF (multi-Page, einfach in PDF zu konvertieren), pbm/pnm (unpaper für OCR-Vorbereitung), png, jpeg - das sollte es eigentlich sein. PS/EPS ist sicherlich zu aufwendig.
Benutzeravatar
Frank Wochatz
Beiträge: 1112
Registriert: So 22. Dez 2013, 22:04
Wohnort: Berlin
Kontaktdaten:

Beitrag von Frank Wochatz »

PDF und EPS geht mit GhostScript, das wird auch von ImageMagick direkt unterstützt. Das stelle ich aber mal gaaaanz nach hinten.

PBM ist garkein Problem, da dieses Format offenbar eh keine weiteren Optionen anbietet (ist leicht einzubauen).

TIF hund PNG haben halt eine Vielzahl an Optionen.

Ich möchte auch einen Möglichkeit einbauen, eigene ImageMagick-RexxScripte zu verwenden. IM bietet da umpfzigtausende Sachen an, unmöglich für alles eine GUI zu bauen.

Ein Problem ist im Moment das Wetter, es ist zu warm zum freiwilligen Programmieren. :geek:
Benutzeravatar
aschn
Beiträge: 1363
Registriert: Mi 25. Dez 2013, 22:47

Beitrag von aschn »

Frank Wochatz » Fr 18. Jul 2014, 09:55 hat geschrieben: Ein Problem ist im Moment das Wetter, es ist zu warm zum freiwilligen Programmieren. :geek:
Gut so. Ich dachte schon, jemand muss Dich wärmebedingt bremsen. ;-)
Andreas Schnellbacher
Antworten