@database "ViewTool_deutsch" @author "Markus Adamski" @$VER: ViewTool_deutsch.guide 1.2 (02.04.98) @font courier.font 15 @wordwrap @node Main "ViewTool" @TOC Main Dies ist die Dokumentation zu ViewTool. @{" " Link "Whats_new"} Was ist neu ? @{" " Link "What_is_it"} Was ist es ? @{" " Link "Requirements"} Voraussetzungen @{" " Link "Installation"} Installation @{" " Link "Usage"} Benutzung @{" " Link "ARexx"} Der ARexx-Port @{" " Link "History.txt/Main"} Geschichte @{" " Link "ToDo.txt/Main"} Was kommt als nächstes ? @{" " Link "Bugs"} Fehler @{" " Link "Thanks"} Danksagung @endnode @node What_is_it "Was ist es ?" ViewTool ist ein Programm, das JPEG kodierte Bilder anzeigt. Unterstützung anderer Formate folgt später. Es wurde entwickelt auf den Multi-Prozessor Beschleuniger- karten der Firma Phase5 mit einem 68060 und einem 604e zu laufen. @endnode @node Requirements "Voraussetzungen" Sie benötigen einen MC68020+, optional einen PowerPC 603+. Zur Zeit werden Bilder nur auf Bildschirmen dargestellt, wenn diese eine Tiefe von mindestens 15 Bit (also 32k+ Farben) aufweisen und Cybergraphics-kompatibel sind. @endnode @node Installation "Installation" Benutzen Sie das Installationsprogramm. Es muß mindestens in der Version 43 oder höher vorliegen. Die neueste Version gibt es unter http://www.amiga.de/. Wenn Sie die Installationsprozedure für geübte Benutzer wählen, brauchen Sie nur ein Zielverzeichnis angeben, in welchem eine neues Verzeichnis angelegt werden soll. Alle relevanten Dateien werden in dieses neue Verzeichnis kopiert. @endnode @node Usage "Benutzung" Starten Sie das Programm entweder von der Shell oder durch einen Doppelklick auf das Piktogramm. Wenn das Piktogramm das ToolType CX_POPUP=YES enthält, öffnet sich zuerst das Voreinstellungsfenster. Dieses kann auch mittels des Commodity 'Exchange' o.ä. geöffnet werden. Das Menü bietet nur wenige selbsterklärende Optionen. Am unteren Fenster Rand sind 4 standardmäßige Gadgets in zwei Reihen angeordnet: @{b}Speichern@{ub}: Der Inhalt aller Gadgets wird in ToolTypes umgewandelt und in das ViewTool-Piktogramm geschrieben. Diese werden bei jedem Programmstart gelesen und die Gadget-Inhalte entsprechend geändert. Eventuelle Änderung der Inhalte werden für gültig erklärt und im folgende benutzt. @{b}Benutzen@{ub}: Die Gadget-Inhalt werden für gültig erklärt, d.h., ab jetzt benutzt, aber nicht gespeichert. @{b}Abbruch@{ub}: Die Gadget-Inhalte werden auf die zuletzt benutzen Werte zurück- gesetzt. Alle Änderungen gehen somit verloren. Darüber befindet sich ein Cycle-Gadget, mit dem die Voreinstellungen der ver- schiedenen Programmteile gewählt werden können: @{b}Generell@{ub}: Die grundlegenden Voreinstellung zur Benutzung. @{b}JPEG@{ub}: Einstellungen zur Dekodierung/Darstellung von JPEG-kodierten Dateien. Nun zu den Voreinstellungsseiten im einzelnen: @{b}Generell: =========@{ub} @{b}Öffne Voreinstellung Tasten:@{ub} Geben Sie eine Tastenkombination ein, welche dieses Voreinstellungsfenster öffnet, z.B. "lshift lalt j" (ohne die '"'). @{b}Lade Datei Tasten:@{ub} Wie oben, nur wird ein Dateiauswahlfenster geöffnet, in welchem Sie die anzuzeigende(n) Datei(en) wählen können. @{b}Basis-Schublade:@{ub} Geben Sie hier das Verzeichnis ein, welches als Ausgangspunkt für das Dateiauswahlfenster dienen soll. Ein Klick auf 'Basis-Schublade' öffnet ein Auswahlfenster für ein Verzeichnis. @{b}Anzeigetyp:@{ub} @{i}Bildschirm@{ui} : Für jede Datei wird ein eigener Bildschirm geöffnet. @{i}Fenster@{ui} : Alle Dateien werden in Fenstern dargestellt. @{b}Standardbildschirm:@{ub} Wenn die Auswahlbox abgehakt ist, wird versucht, ein Fenster auf dem System-Standardbildschirm zu öffnen. (Nur wählbar, wenn Anzeigetype = Fenster). @{b}Fremder Bildschirm:@{ub} Wenn die Auswahlbox abgehakt ist, wird versucht, ein Fenster auf dem öffentlichen Bildschirm zu öffnen, dessen Name in das String-Gadget rechts daneben eingegeben werden kann. Optional kann auch ein Auswahlfenster aller derzeit verfügbaren öffentlichen Bildschirme geöffnet werden (-> '*'). (Nur wählbar, wenn Anzeigetype = Fenster). @{b}Eigener Bildschirm:@{ub} Wenn die Auswahlbox abgehakt ist, wird versucht, ein öffentlichen Bildschirm zu öffnen, dessen Typ durch ein Auswahlfenster festgelegt werden muß. Hierbei werden zwei Fälle unterschieden: @{i}Anzeigetype = Fenster@{ui} : Wenn 'Bester Modus' gewählt wird, wird der Workbench- Bildschirm als Vorlage für einen eigenen Bildschirm verwendet, auf dem dann alle Fenster geöffnet werden. @{i}Anzeigetype = Bildschirm@{ui} : Wenn 'Bester Modus' gewählt wird, wird versucht, ein Bildschirm zu öffnen, der möglichst genau zu den Dimensionen des amzuzeigenden Bildes paßt. @{b}Ausgabefenstertyp:@{ub} Diese gelten nur, wenn Anzeigetype = Fenster. @{i}Vergrößern@{ui} : Bilder werden an die Größe des Fenster angepaßt. @{i}Verschieben@{ui} : Bilder sind innerhalb des Fenster verschiebbar. @{i}Fragen@{ui} : Der Fenstertyp kann für jede Datei neu gewählt werden. @{b}Fenster zentrieren:@{ub} Wenn die Auswahlbox abgehakt ist, werden die Fenster auf den jeweiligen Bildschirmen zentriert geöffnet. @{b}Fortschrittsanzeige:@{ub} Wenn die Auswahlbox abgehakt ist, wird Dekodierungsvorgang grafisch veranschaulicht durch einen farbigen Balken in einem Fenster. @{b}Rechte Maustaste:@{ub} Wenn die Auswahlbox abgehakt ist, kann ein Fenster ge- schlossen bzw. im Nacheinander-Modus (s.u.) die nächste Datei dekodiert werden durch Drücken der rechten Maustaste. @{b}Nacheinander:@{ub} Wenn die Auswahlbox abgehakt ist, werden, falls mehrere Dateien im Auswahlfenster gewählt wurden, diese nacheinander in einem Fenster dargestellt, anstatt daß für jede Datei ein eigenes Fenster geöffnet wird. Achtung: Während der Ausführung dieses Modus ist es nicht möglich neuer Fenster zu öffnen, das Programm zu beenden, das Voreinstellungsfenster zu öffnen oder zu schließen bzw. Voreinstellungen zu ändern ! Mit der ESC-Taste kann der Modus verlassen werden. @{b}Verzögerung:@{ub} Hier wird die Zeit in Sekunden angegeben, bis die nächste Datei im Nacheinander-Modus (s.o.) dargestellt werden soll. Wird als Verzögerung "0" ein- gegeben, so wird solange gewartet, bis das Fenster manuell geschlossen wurde. @{b}Speichermodell:@{ub} Je nach verfügbarem Hauptspeicher werden drei Fälle unterschieden: @{i}Klein@{ui} : siehe unten @{i}Mittel@{ui} : siehe unten @{i}Groß@{ui} : Die zu dekodierenden Dateien werden erst komplett geladen, dann dekodiert und danach erst aus dem Speicher entfernt, sodaß nur die dekodierten Daten im Speicher verbleiben. @{b}JPEG ====@{ub} @{b}Vergrößerungsfaktor:@{ub} JPEG-Bilder können automatisch während des Dekodierung verkleinert werden auf die Hälfte, ein Viertel bzw. ein Achtel der ursprünglichen Größe. Dies verkürzt die Dekodierungzeit und verkleinert den Speicherverbrauch. @{b}Gamma-Korrektur:@{ub} Hiermit kann ein Bild aufgehellt (> 1) bzw. verkleinert werden (< 1). Die Korrektur kostet Zeit und kann daher deaktiviert werden durch die Eingabe von entweder 0, 1, durch Löschen des Inhaltes oder Eingabe einer nicht korrekten Zeichenkette. Als Eingabe wird eine rationale Zahl erwartet, also eine Fließkommazahl folgender Form: [+|-]Ziffer{Ziffer}[.Ziffer{Ziffer}] mit folgender Bedeutung der Zeichen: | : oder [] : das geklammerte Zeichen kommt einmal oder gar nicht vor {} : das geklammerte Zeichen kommt beliebig oft vor oder gar nicht Ziffer: 0|1|2|3|4|5|6|7|8|9 . : Dezimalpunkt +|- : Vorzeichen @{b}DCT Methode:@{ub} Hier wird die Dekodierungsmethod gewählt: @{i}Ganzzahl (schnell)@{ui} : schnell, ungenau. @{i}Ganzzahl (langsam)@{ui} : weniger schnell, genauer. @{i}Fließkomma@{ui} : langsam, sehr genau. @{b}Benutze Fancy Upsampling:@{ub} Wenn die Auswahlbox abgehakt ist, wird die Qualität des dekodierten Bildes gesteigert (meist jedoch minimal). @{b}Blockweise Glättung:@{ub} Wenn die Auswahlbox abgehakt ist, werden Bilder während der Dekodierung geglättet. Da diese jedoch unsichtbar im Hintergrund vor- genommen wird, brauch diese Option vorläufig nicht gewählt werden. @{b}Farbquantisierung:@{ub} Wenn die Auswahlbox abgehakt ist, werden alle Bilder auf 256 Farben heruntergerechnet. @{b}2-Durchgangs-Quantisierung:@{ub} Wenn die Auswahlbox abgehakt ist, wird die Umrechnung der Bilder in 256 Farben genauer vorgenommen. @{b}Streuungsmodus:@{ub} Hiermit kann die Art der Herunterrechnung aus 256 Farben beeinflußt werden. @endnode @node ARexx "Der ARexx-Port" Generell gilt, daß @{b}RC = 10@{ub} zurückgegeben wird, falls ein ungültiger Befehl ausge- führt werden soll. Es stehen z.Z. @{b}4@{ub} ARexx-Befehle zur Verfügung: @{b}LOADIMAGE FILE/A/K@{ub}: Hiermit kann eine (oder mehrere) Datei(en) angezeigt werden. Z.B. lädt LOADIMAGE 'FILE=Images:#?.jp(e|)g' alle Dateien im Verzeichnis "Images:", deren Name auf ".jpg" oder ".jpeg" endet. Rückgabe: RC = 0: Der Befehl erfolgreich ausgeführt. In RESULT wird eine Identifikationnummer zurückgegeben mit folgender Einschränkung: @{u}Nacheinander-Modus aktiviert:@{uu} Der Rückgabewert braucht nicht weiter beachtet zu werden, kann als ungültig betrachtet werden. @{u}Nacheinander-Modus deaktiviert:@{uu} Der Rückgabewert ist die Identifikationsnummer der letzten erfolg- reich geladenen Datei und kann als Eingabe für @{b}FREEIMAGE@{ub} dienen. RC = 5: Der Befehl konnte nicht erfolgreich ausgeführt werden, vermutlich wegen Speichermangels. @{b}FREEIMAGE LOADID=ID/N/A/K@{ub}: Hiermit kann ein Fenster wieder geschlossen werden. Als Eingabe gilt der Rück- gabewert von @{b}LOADIMAGE@{ub} (siehe oben). Ungültige Werte werden ignoriert. Rückgabe: RC = 0: Der Befehl wurde erfolgreich ausgeführt. RC = 5: Der Übergabe-Parameter war ungültig. @{u}Beispiel:@{uu} /* $VER: Load one image and free it. */ OPTIONS RESULTS ADDRESS 'ViewToolRexx' LOADIMAGE 'Images:AnyPic.jpg' res1 = RC res2 = RESULT IF res1 = 0 THEN DO SAY 'Datei erfolgreich geladen' FREEIMAGE 'ID='res2 END ELSE DO SAY 'result =' res1 SAY 'result2 =' res2 END EXIT(0) @{b}CLOSEALL@{ub}: Es werden alle Fenster geschlossen. @{b}QUIT@{ub}: Das Programm wird beendet. Gleiche Funktion wie 'Beenden' vom Voreinstellungs- fenster. (Siehe auch Beispiele im Unterverzeichnis @{b}Rexx@{ub}). @endnode @node Bugs "Fehler" Wenn Sie irgendwelche Fehler finden, schicken Sie mir eine Nachricht, aber senden Sie mir keine Binärdateien, außer ich frage danach, und schreiben Sie auch nicht nur, 'daß es nicht funktioniert'. Das reicht nicht, wie leicht einzusehen ist. Ich brauche Informationen über Ihre Systemkonfiguration, Bibliotheksversionen, Patches, die sie benutzen, eine so genaue Fehlerbeschreibung wie möglich und mit welcher Programmversion der Fehler auftritt (auch 68k o. PPC). Und fragen Sie auch nicht, wann eine neuere Version veröffentlicht wird, da das Programmieren nur eine Nebenbeschäftigung ist. Benutzen Sie auch nur die neueste Version von 'SetPatch'. Wenn Sie eine PowerPc- Karte benutzen, müssen die neuesten Versionen der 68060.library und der ppc.library installiert haben. Dieses Programm war hauptsächlich entstanden, um den PowerPC-Prozessor auf den Phase5 Beschleunigerkarten zu benutzen, d.h., es läuft in einer Mehr-Prozessor- Umgebung mit einem M68060 und einem 604e. Unterstützung eines Ein-Prozessor-Systems mit einem M68020 oder höher ist mehr oder weniger ein Nebeneffekt. Wenn Sie andere Erweiterungen neben den obig beschriebenen sehen möchten, schicken Sie mir eine EMail. Nehmen Sie bitte noch zur Kenntnis, daß ich keine Parameter- Übergabe mittels der Shell unterstützen werde. Schicken Sie Ihre EMail an markus.adamski@cww.de @endnode @node Thanks "Danksagung an..." ...die Independent JPEG Group... ... Sun Microsystems, Inc.: /* @(#)e_exp.c 1.3 95/01/18 */ /* * ==================================================== * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. * * Developed at SunSoft, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this * software is freely granted, provided that this notice * is preserved. * ==================================================== */ /* @(#)e_log.c 1.3 95/01/18 */ /* * ==================================================== * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. * * Developed at SunSoft, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this * software is freely granted, provided that this notice * is preserved. * ==================================================== */ ...alle, die Fehler beschrieben und Verbesserungsvorschläge gemacht haben. @endnode @node Whats_new "Was ist neu ?" Große Teile des Programms wurden völlig überarbeitet bzw. neu geschrieben, in der Programm- @{"Geschichte" Link "History.txt/Main"} nachzulesen. Es stehen mehr (und hoffentlich bessere) ARexx-Befehle zur Verfügung. @endnode