Autor Beitrag
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 14.03.06 01:17 
SharpPix 2.0

Einleitung
SharpPix ist ein Programm, welches dazu dient, die Größe vieler Bilddateien auf einmal zu ändern. Dabei werden verschiedene Arten unterstützt, die neuen Maße einzugeben, sodass SharpPix in vielen Situationen einsetzbar ist. Auf Wunsch werden EXIF-Daten in die geänderten Dateien übernommen, eine HTML-Galerie erstellt oder auch die Dateinamen mit einer Art Baukasten neu erstellt. Auch Wasserzeichen können in die Dateien integriert werden.

Dies hier ist der zweite Versuch, eine Version 2.0 dieses Programmes herauszubringen. Der erste Versuch endete im Oktober letzten Jahres, als ich anfing, mich mit .NET 2.0 zu beschäftigen und mich entschied, dass das die weitaus bessere Plattformm für SharpPix wäre als .NET 1.1.

Programm-Features
An dieser Stelle seien noch einmal die wichtigsten Funktionen von SharpPix aufgezählt:
  • Angabe der Quelldateien im Programm, über das "Senden An"-Menü und per Drag 'n Drop. Bei verwenden von "Senden An" und laufendem SharpPix werden die Dateien an die bestehende Instanz übergeben.
  • Anzeige von Thumbnails der in der Liste befindlichen Bilder

  • Modi "freie Eingabe", "konstante Proportionen", "prozentual" und "größte Seite" zur individuellen Eingabe der neuen Maße. Außerdem Modus "Original", um nur die sonstigen Funktionen von SharpPix und die Plugins zu verwenden.

  • Speicherung im JPEG-, BMP- oder PNG-Format unabhängig vom Format der Quelldatei
  • Übernahme von EXIF-Daten, falls JPEG-Dateien geladen und gespeichert werden
  • Einstellung der Qualität, falls JPEG-Dateien gespeichert werden

  • Baukasten für Dateinamen, für alle die mit Dateiename wie "IMGP0099.JPG" nichts anfangen können

  • Plugin-Support
  • Plugin mitgeliefert: Erstellung einer HTML-Galerie inklusive Thumbnails
  • Plugin mitgeliefert: Zeichnen von Wasserzeichen über Bilder, um z.B. Copyright-Hinweise unterzubringen

  • Verwaltung von persönlichen SharpPix-Einstellungen in Profilen

  • Kontexthilfe bei Rechtsklick

  • Werden in der Status-Listbox Eingabefehler aufgelistet, gelangt man per Doppelklick auf den Fehler zum entsprechenden Control

  • Auf einem englischen System sollte SharpPix in englischer Sprache erscheinen (konnte ich bisher nicht testen)

Die Sourcen
SharpPix ist vollständig in C# 2.0 geschrieben, dabei wurde das Visual Studio 2005 verwendet. Die frei verfügbare Express-Version sollte reichen, das Projekt zu kompilieren zu können. Die license.txt im Root-Verzeichnis des Pakets ist zu beachten.

Eine Anleitung, um Plugins zu schreiben, werde ich in ein paar Tagen nachreichen.

Die Binaries
Zur Ausführung der Binaries ist das .NET Framework 2.0 nötig. Sollten im Programm Einstellungsprofile angelegt werden, so werden diese in einer Datei im Profilverzeichnis des jeweiligen Nutzers gespeichert (\Anwendungsdaten\SharpPix\2.0.0\profiles.xml).

Hinweis: Ich habe das Programm schon ein paar wenigen Testern gezeigt, Fehler sind aber trotzdem noch wahrscheinlich.

Downloads
Binaries: www.stelzmann-duesse...arppix2/SharpPix.zip
Source: www.stelzmann-duesse.../SharpPix_Source.zip



Crossposting

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".


Zuletzt bearbeitet von Christian S. am Do 16.03.06 18:45, insgesamt 3-mal bearbeitet
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Di 14.03.06 11:02 
Moin, sieht schnieke aus. :)
Rechtsklick auf KontextHilfe (btw: nicht übersetzt ;) ) gibt mir eine Ex:
Zitat:
System.UriFormatException: Invalid URI: The hostname could not be parsed.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString)
at SharpPix.SharpPixHelp.showHelp(String topic, String subtopic)
at SharpPix.Mainform.showHelp(String topic, String subtopic, Boolean createHelp)


Außerdem haben die Thumbnails nicht die richtige aspect ratio.

Es wäre außerdem ganz gut wenn man den LV als Details darstellen könnte um so zu Bleistift nach Dimensions, Größe,Format,... sortieren zu können. [1]

Ein Setup wäre auch nett, schaue dir im VS einfach mal die Setup Projects an. Das übernimmt 95% der Arbeit für dich. ;)
Mit dem SetUp könntest du auch gleich ngen drüberennen lassen. Habe ich gerade gemacht und die App startet nun schneller als Notepad. :)

[1]Bei Interesse kann ich dir eine Lib geben, die dir aus einem String wie "Size desc, Format, Name desc" dyn. ein Comparison<T> compiliert. Finde ich sehr praktisch für Sortierungreihenfolgen ähnlich wie im Explorer.
Das Prinzip ist ähnlich wie beim StringConverter. ;)
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 11:06 
Unabhängig vom Programm habe ich eine Anmerkung zur Toolstrip-Komponente. Was hältst du davon, diese Farbtabelle zu nutzen? Damit wird aus dem merkwürdigen Blau von Office 2003 das normale Graubraungelb (:zwinker:) von Visual Studio 2005. Die Dame, von der die Tabelle stammt, drückt sich jedoch leider um eine klare Antwort bzgl. der freien Verwendbarkeit. Wie auch immer, ich habe da noch einen Renderer geschrieben, damit vertikale Separatoren dann auch wie im Visual Studio 2005 erscheinen. Den hänge ich mal ran, denn der ist von mir. :)

Anwendung kennst du ja
ausblenden C#-Quelltext
1:
toolStrip1.Renderer = new TanColorToolStripProfessionalRenderer(new TanColorTable());					
Einloggen, um Attachments anzusehen!
Christian S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 14.03.06 11:48 
Hi!

zur Kontexthilfe:
Übersetzung: Die Kontextmenüs verstecken sich immer so, wenn man das Programm übersetzt.
Drängeln sich in eine Ecke, sodass man sie übersieht ;-)

Fehler: Kommt der immer oder nur an einer bestimmten Stelle?


Aspect Ratio der Thumbnails:
Ja, ich weiß. Wenn ich die mit der richtigen Aspectratio haben will, wird das ein wenig aufwändiger bei der Erzeugung, aber mir ist das auch zunehmend ein Dorn im Auge, obwohl ich zuerst dachte, ich könne damit leben ;-)


Sortierung der Listview:
Ja, das ist eine gute Idee. An der Lib hätte ich durchaus Interesse!


Setup:
Setup ist auf jeden Fall geplant, hatte ich mir nur für die Veröffentlichnung in der Entwickler-Ecke gespart. Werde mir die Setup-Projects mal ansehen.


Toolstrip-Farben:
Danke! Ich habe die Windows-Designs immer deaktiviert, daher ist mir die fürchterliche Farbe gar nicht aufgefallen :zwinker:

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Di 14.03.06 11:58 
Zitat:
zur Kontexthilfe:
...
Fehler: Kommt der immer oder nur an einer bestimmten Stelle?
Immer.


Zitat:
Sortierung der Listview:
Ja, das ist eine gute Idee. An der Lib hätte ich durchaus Interesse!
Ich werde sie etwas aus einem größeren Brocken herausreißen müssen. Rechne irgendwann heute abend, morgend abend damit.


Zitat:
Setup:
...
Werde mir die Setup-Projects mal ansehen.
Solltest du mal tun, ist echt praktisch für alles was keinen IS Kabenzmann braucht. :)


Zitat:
Toolstrip-Farben:
Danke! Ich habe die Windows-Designs immer deaktiviert, daher ist mir die fürchterliche Farbe gar nicht aufgefallen :zwinker:
Wer das hässliche blaue Theme nutzt, sollte mit hässlichen blauen Apps nicht unter 5 Jahren bestraft werden. In Silber sieht's schnieke aus. ;)
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 12:55 
user profile iconRobert_G hat folgendes geschrieben:
Wer das hässliche blaue Theme nutzt, sollte mit hässlichen blauen Apps nicht unter 5 Jahren bestraft werden. In Silber sieht's schnieke aus. ;)


Nöö, in grau ist Luna richtig süß.

@Christian

Cooles Programm :zustimm:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 13:59 
Ächtz. Es hat mich eine viertel Stunde gekostet herauszufinden, wie man einen Zielordner angibt. Den Button in dem grauen Band habe ich einfach nicht gesehen, weil ich ihn neben dem Editfeld gesucht habe, in das sich übrigens nichts eintippen läßt.
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Di 14.03.06 14:20 
user profile iconLuckie hat folgendes geschrieben:
Ächtz. Es hat mich eine viertel Stunde gekostet herauszufinden, wie man einen Zielordner angibt.
War so klar, dass gleich Luckie mit dem üblichen Accessibility-Zeugs auftaucht. :mrgreen:
Christian S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 14.03.06 14:48 
user profile iconLuckie hat folgendes geschrieben:
Ächtz. Es hat mich eine viertel Stunde gekostet herauszufinden, wie man einen Zielordner angibt. Den Button in dem grauen Band habe ich einfach nicht gesehen, weil ich ihn neben dem Editfeld gesucht habe,
:? Sorry, aber der Button ist IMHO so gut zu sehen, dass ich das nicht ändern werde. Ich könnte es höchstens noch so machen, dass sich der Dialog bei Klick in die Textbox öffnet.

user profile iconLuckie hat folgendes geschrieben:
in das sich übrigens nichts eintippen läßt.
Richtig. Die Änderung des Zielordners über den entsprechenden Dialog halte ich für deutlich weniger fehleranfällig.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 14:53 
Ich wollte zum Testen nur mal kurz "d:\" eintippen, dafür war mir ein Dialog zu umständlich.

user profile iconChristian S. hat folgendes geschrieben:
Sorry, aber der Button ist IMHO so gut zu sehen, dass ich das nicht ändern werde. Ich könnte es höchstens noch so machen, dass sich der Dialog bei Klick in die Textbox öffnet.

Nun ich hätte so einen Butoone ben hinter dem Edit erwartet und da habe ich ihn nicht gefunden. Oben in der Toolbar zu gucken, auf die Idee bin ich gar nicht gekommen. Aber wenn es sich auf Klick in das Edit öffnet, dann wäre das Problem schon mal behoben. Ich habe übrigens auch versucht ihn mit einem Rechtsklick in das Edit zu öffnen und noch tausend andere Sachen. Also man kann mir nicht vorwerfen, ich hätte nicht mein bestes gegeben. ;)
Motzi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: Di 14.03.06 15:25 
user profile iconLuckie hat folgendes geschrieben:
Ächtz. Es hat mich eine viertel Stunde gekostet herauszufinden, wie man einen Zielordner angibt. Den Button in dem grauen Band habe ich einfach nicht gesehen, weil ich ihn neben dem Editfeld gesucht habe,

Genau das hab ich mir auch schon gedacht.. Auch wenn es "fehleranfällig" ist wenn man selbst was in das Edit-Feld eingeben kann - ich halte es auch für besser. Du kannst ja schließlich einfach überprüfen oder Ordner existiert und wenn nicht entweder eine Fehlermeldung anzeigen oder eventuell ein Nachfrage ob der Ordner erstellt werden soll...

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Di 14.03.06 15:31 
Saug ich gleichmal. Die erste Version war ja schon genial. :zustimm:
Gleich mal die neue ausprobieren :-)

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 15:37 
Noch was. Wie wäre es bei dem Gallery Plugin die Möglichkeit zu schaffen einen Stylesheet auszuwählen, der entweder fest in die HTML Datei geschrieben wird oder man einen über eine Url angeben kann der dann im Header entsprechend verlinkt wird.
Christian S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 14.03.06 15:37 
user profile iconMotzi hat folgendes geschrieben:
Du kannst ja schließlich einfach überprüfen oder Ordner existiert und wenn nicht entweder eine Fehlermeldung anzeigen oder eventuell ein Nachfrage ob der Ordner erstellt werden soll...
Eine entsprechende Abfrage ist schon drin (der Ordner könnte ja nach seiner Auswahl gelöscht werden). Da das Programm auch bei DAUs noch möglichst sicher funktionieren soll, tendiere ich eher dazu, die Textbox read-only zu lassen. Im normalen Einsatz wird man wohl auch eher Ordner haben, die man nicht mehr per Hand eingibt. Auch deshalb, weil der Zielordner in vielen Fällen eh erst erstellt werden muss.

//edit: @Luckie: Ja, das ist eine gute Idee! :-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 16:06 
So was hab eich mal bei meinem ThumbNailCreator gemacht: www.michael-puff.de/...mbnailCreator1_0.zip
Den benutze ich, um Inhaltsverzeichnisse für meine Foto CDs zu erstellen.
Christian S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 16.03.06 18:29 
Hallo!

Ich habe eine neue Version hochgeladen.

Changelog:
  • String "Kontexthilfe" übersetzt
  • Verzeichnisauswahl öffnet sich bei Klick in Zielverzeichnis-Textbox
  • Nutzung dezenterer Farben für Toolstrips
  • Thumbnails werden nicht verzerrt
  • HTML-Datei mit Anleitung zum Plugin-Schreiben in den Sourcen


Grüße
Christian

P.S.: Den Bug mit der Hilfe, den Robert gepostet hat, konnte ich leider auch auf einem englischen Windows nicht reproduzieren. :gruebel:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 17.03.06 10:38 
user profile iconChristian S. hat folgendes geschrieben:
  • Nutzung dezenterer Farben für Toolstrips

Gilt auch für das Kontextmenü, ;). Gilt im Prinzip für alles, das irgendwie ein Strip im Namen hat und das oft kopierte Office-Menüdesign nutzt (ToolStrip, MenuStrip, ContextMenuStrip).