Links

Categories

Tags


« | Main | »

IrfanView Filter Sandbox (Deutsch)

By Jewe | June 24, 2013

Eine Einführung in das IrfanView Filter Sandbox Plug-in.

English version click here.

Einführung

Windows-Nutzer schätzen in der Regel IrfanView, den kostenlosen, schnellen und funktionsreichen Bildbetrachter. Persönlich weiß ich von keinem PC, auf dem der kleine Helfer nicht installiert ist.

Daher wollte ich ein JewelScript Plug-in für IrfanView machen. Ich wollte es Benutzern ermöglichen, auf einfache Weise Filter und Effekte in JewelScript zu programmieren und zu tauschen. Es einfacher machen, mit neuen Effekten zu experimentieren, als es in C oder C++ wäre. Das Resultat ist die Irfanview Filter Sandbox.

Die Skripts Seite

Dies ist die Hauptseite des Plug-ins und wird immer nach dem Start angezeigt. Beim Start scannt das Plug-in den Skript-Ordner des Benutzers und erstellt eine Liste der verfügbaren Effekte. Bei der Auswahl eines Effekts aus der Liste, wird eine Beschreibung daneben angezeigt.

 

Um das Plug-in zu schließen, klicken Sie auf die Schaltfläche Close am unteren Fensterrand, oder drücken Sie die Escape-Taste. Um den aktuell ausgewählten Effekt auszuführen, klicken Sie auf die Schaltfläche Start, oder drücken Sie die Eingabetaste. Nachdem der Effekt auf das Bild angewendet wurde, wird IrfanView das Ergebnis in seinem Hauptfenster anzeigen. Wenn Sie mit dem Ergebnis nicht zufrieden sind, klicken Sie auf die Schaltfläche Undo, oder drücken Sie Strg + Z. Das Plug-In speichert alle Änderungen am Bild. Wenn Sie mehrere Effekte angewendet haben, können Sie jede Änderung einzeln rückgängig machen.

Um Speicherplatz zu sparen, wird das Plug-in die Undo-History löschen, wenn zu viele Effekte auf das Bild angewendet wurden. Die Anzahl verfügbarer Undo-Buffer hängt dabei von der Größe des Bildes ab. Wenn Sie einen Effekt nicht mehr innerhalb des Plug-ins rückgängig machen können, können Sie das Plug-in schließen und IrfanView alle Änderungen des Plug-ins rückgängig machen lassen.

Das folgende Bild wurde nur mit den Standard-Effekten des Plug-ins gemacht. Zuerst wurde mit dem “Supershapes” Effekt ein roter Stern auf einem weißen Hintergrund erzeugt. Dann wurden mit dem “Image Cook” Effekt Rauschen und Flecken hinzugefügt. Schließlich, um dem Bild etwas Unschärfe zu verleihen, wurde “Displacement Blur” angewendet.

 

Die Parameter Seite

Effekte mit “hart kodierten” Werten wären nicht sehr nützlich, daher gibt es einen Mechanismus, mit dem Effekte beliebig viele Parameter definieren können. Das Plug-in nutzt diese Informationen, um eine Seite mit Einstellungen zu erstellen, wenn der Benutzer den Effekt auswählt. Um die Einstellungen zu sehen, klicken Sie auf die Parameters Schaltfläche in der oberen Reihe. Dadurch wechseln Sie von der Skripts Seite zur Parameter Seite.

 

Die Parameter Seite zeigt nur die Einstellungen des aktuell gewählten Effekts an. Sie können auf den nach unten zeigenden Pfeil neben dem Effektnamen in der zweiten Zeile klicken, um einen anderen Effekt auszuwählen. Ihre Einstellungen für den aktuellen Effekt werden im Speicher gehalten und sind immer noch da, wenn Sie dorthin zurückkehren.

Im Moment gibt es zwei Typen von Parametern: Slider and Label. Je nachdem, welchen Typ der Effekt nutzt, wird die Sandbox ein anderes Steuerelement auf der Oberfläche erstellen. Ich plane, in Zukunft mehr Parameter-Typen hinzuzufügen. Zum Beispiel wäre ein Texteingabefeld und eine Farbauswahl nützlich.

Die Messages Seite

Haben Sie keine Angst, mit den Demo-Effekten zu experimentieren und diese zu ändern, dafür sind sie da. Auch wenn Sie kein erfahrener Programmierer sind, sollte Ihnen die Sandbox nicht abstürzen, falls Sie einen Fehler machen.

Zwar ist JewelScript robust und sicher, ich fordere aber niemanden heraus, mir das Gegenteil zu beweisen. Es ist eine einfache Tatsache in der Softwareentwicklung, dass man mit genügend aufgewendeter Energie jede Software zum Absturz bringen kann. Wenn Sie einen Weg finden, JewelScript zum Absturz zu bringen, teilen Sie mir dies bitte mit, damit ich den Fehler beheben kann.

Wenn ein Effekt aus der Liste der verfügbaren Effekte verschwinden sollte, geschieht dies wahrscheinlich aufgrund eines Fehlers irgendwo in einem Skript. Wenn sich mehrere Effekte in derselben Datei befinden, und die Datei einen Fehler hat, kann es auch vorkommen, dass mehrere Effekte aus der Liste verschwinden.

Um Skripts auf Fehler zu überprüfen, können Sie auf die Messages Seite wechseln, indem Sie auf die Schaltfläche am oberen Rand klicken. Die Seite teilt ihnen den Namen der Datei, und in Klammern die Zeilennummer und Spalte des Fehlers mit.

Der Compiler ist nicht in der Lage, alle Programmfehler zu erkennen. Einige Fehler sind von dynamischer Natur und können nur zur Laufzeit erkannt werden. Wenn während der Laufzeit ein schwerwiegender Fehler auftritt, wird JewelScript die Skript-Ausführung abbrechen und ein Fenster mit einem Crash-Protokoll öffnen. Das Protokoll kann Ihnen helfen, die Ursache des Fehlers zu finden.

 

Das Utility-Menü

Versteckt im Button mit dem Pfeil nach unten am oberen Rand des Fensters, ist das Utility-Menü. Dieses Menü bietet einige zusätzliche Funktionen, die das Plug-in etwas komfortabler machen.

Installieren von neuen Skripts

Eine der großen Stärken von Skript-Effekten ist, dass Benutzer ganz leicht Effekte für Benutzer erstellen können. Wenn der Effekt eines anderen Benutzers beinahe das tut, was Sie brauchen, dann können Sie oder jemand anderes diesen ganz einfach ändern, damit er genau das tut, was sie brauchen. Allerdings geht dieser Vorteil mit einer gewissen Eigenverantwortung einher.

Obwohl ich alle erdenklichen Vorsichtsmaßnahmen getroffen habe, um die Sandbox sicher und robust zu machen, kann es dennoch Dinge geben, die Nutzer mit böswilligen Absichten ausnutzen könnten. Einige dieser Dinge können sicher behoben werden, sobald ich davon erfahre, aber es bleiben diejenigen, die nicht vermieden werden können.

Der einfachste Weg, um einen Effekt mit böswilliger Absicht zu erstellen, ist eine Endlosschleife zu programmieren. Dadurch “hängt” das Plug-in, und Sie müssen den Windows Task-Manager benutzen, um IrfanView gewaltsam zu beenden.

Weil Endlosschleifen ein gültiges Element einer Programmiersprache sind, kann ich diese nicht einfach entfernen. JewelScript ermöglicht Funktionen, wo Endlosschleifen sehr nützlich sind (Co-Function Threads) und sogar erforderlich sein können. Und dies ist nur ein Beispiel. Wenn ich alle Sprach-Features, die möglicherweise missbraucht werden könnten, beseitigen würde, gäbe es nichts mehr, um damit einen Effekt zu programmieren.

Wenn Sie Skripts für IrfanView Sandbox herunterladen, ist es daher Ihre eigene Verantwortung, sich vor böswilligen Inhalten zu schützen. Dies sind ein paar Grundregeln, die Sie beherzigen sollten:

Das Installieren von Skripten ist einfach und unkompliziert. Kopieren Sie einfach die Datei in Ihren Skript-Ordner. Einige Skripts kommen mit zusätzlichen Ressourcen daher, zB. Bilddateien, die als Texturen verwendet werden. Diese Dateien müssen ebenfalls in den Skript-Ordner kopiert werden.

Download

Die IrfanView Sandbox ist offizieller Bestandteil des IrfanView Plugins-Pakets. Allerdings können Sie hier das neueste Update des Plug-ins herunterladen.

Die neueste Version der IrfanView Sandbox ist 1.3.0.15. Die Version benötigt IrfanView 4.40.

Für 32-bit Windows herunterladen (benötigt 32-bit Version von IrfanView)

Für 64-bit Windows herunterladen (benötigt 64-bit Version von IrfanView)

Einfach das heruntergeladene ZIP Archiv in das IrfanView / Plugins Verzeichnis entpacken. Bitte tun Sie dies, während IrfanView nicht läuft.

Weitere Informationen (Englisch)

Topics: filter sandbox | Comments Off on IrfanView Filter Sandbox (Deutsch)

Comments are closed.