home *** CD-ROM | disk | FTP | other *** search
/ Boston 2 / boston-2.iso / DOS / GRAFIK / TOOLS / GIFANI / GIFANI.DOC < prev    next >
Text File  |  1993-12-01  |  13KB  |  247 lines

  1.  
  2.  
  3.  
  4.        Paul Schubert
  5.        Rottweiler Str. 8
  6.  D6000 Frankfurt / M 1
  7.        Tel.: 069 / 231145
  8.  
  9.  
  10.  
  11.            Beschreibung der Programme GIF2 und GIFANI
  12.            ══════════════════════════════════════════
  13.  
  14. Stand 22.8.92
  15.  
  16.  
  17.   Diese Programme sind Public Domain, sie dürfen kostenlos weitergegeben 
  18. werden, ich erlaube auch explizit, den Quellcode für andere Programme zu 
  19. benutzen.
  20.   Die Programme zu verkaufen, verbiete ich.
  21.   Eine angemessene Gebühr für das Kopieren darf erhoben werden, ich halte
  22. aber DM 15.- oder mehr auch mit einer schönen Verpackung und einem 
  23. gedruckten Handbuch nicht mehr als angemessen für eine Kopiergebühr, 
  24. sondern ich untersage eine derartige Veröffentlichung des Programms, die
  25. ich eindeutig als kommerzielle Verwertung ansehe.
  26.   Jeder, der dies Programm weitergibt, sollte genug Anstand besitzen,
  27. meinen Namen und meine Anschrift in diesem File nicht zu verändern oder
  28. zu entfernen bzw. dies File mitzukopieren.
  29.  
  30.   Falls die Quellcodes nicht auf der von Ihnen erworbenen Diskette sind,
  31. können Sie sie durch Zusenden einer formatierten Diskette mit frankiertem 
  32. Rückumschlag von mir erhalten.
  33.   Ich empfehle Ihnen, eine HD- Diskette ( 3 1/2 oder 5 1/4 Zoll ), und geben
  34. Sie bitte an, welche Quellcodes Sie benötigen, weil meine gesamten PD-
  35. Programme nicht mehr auf eine Diskette passen.
  36.  
  37.   Zum Compilieren der Programme wird die Toolbox TURBO PROFESSIONAL gebraucht,
  38. allerdings nur, um externe Kommandos abarbeiten zu können.
  39.  
  40.  
  41.   Die Programme laufen nur auf VGA- Karten.
  42.  
  43.  
  44.   GIF2 und GIFANI sind ein erster Versuch, Animationen auf Basis von Multi-
  45. image- GIF- Files zu zeigen.
  46.   Im Programm GIF ist es mir nicht ohne Programmabsturz gelungen, ein Multi-
  47. image- GIF- File endlos abzuspielen, deshalb mußte ein überschaubares Pro-
  48. gramm her, um das Problem zu lösen. Das Ergebnis ist GIF2.
  49.   GIFANI geht einen Schritt weiter als GIF2 : GIF2 lädt grundsätzlich alle
  50. Bilder eines GIF- Files aus der Datei, auch wenn sie mehrmals gezeigt werden,
  51. GIFANI versucht zumindest, die Bilder in den Arbeitsspeicher zu laden.
  52.   GIFANI benutzt noch weder EMS noch XMS, deshalb kann eine große Animation
  53. nicht vollständig in den Arbeitsspeicher geladen werden.
  54.   Das erste Bild eines GIF- Files wird immer nur einmal beim Programmaufruf
  55. gezeigt. Wenn es sinnvoll ist, das erste Bild bei jedem Durchlauf der
  56. Animationsschleife zu zeigen, ändere ich gerne das Programm.
  57.   Die einzelnen Bilder der Animation können nur dann in den Arbeitsspeicher
  58. geladen werden, wenn sie kleiner als 64k Bytes sind. Vermutlich haben auch
  59. andere Animationsprogramme genau diese Einschränkung.
  60.   GIFANI kann maximal 100 Bilder in den Arbeitsspeicher laden.
  61.  
  62.   Zusätzlich zur Möglichkeit, eine Animation zu zeigen, bieten GIF2 und
  63. GIFANI die Möglichkeit, vor Zeigen der Bilder und nach Zeigen der Bilder
  64. ein externes DOS- Kommando aufzurufen.
  65.   Diese können z.B. dazu benutzt werden, vor der Animation einen Text anzu-
  66. zeigen und nach der Animation - noch im Grafikmodus - ein Liedchen zu 
  67. spielen.
  68.   Beim Ausführen des Kommandos nach der Animation unterbinden die Programme
  69. jeden Aufruf des Video- Interrupt, damit kein Programm vom Grafikmodus in
  70. den Textmodus schalten und somit das angezeigte Bild löschen kann.
  71.  
  72.   GIF2 und GIFANI legen sich keine Beschränkung bei der Benutzung von Grafik-
  73. modi bis zu einer Auflösung von 1024 * 768 Pixeln in 256 Farben auf.
  74.   Wenn Sie eine VGA- Karte besitzen, die größere Auflösungen als Ihr Bild-
  75. schirm beherrscht ( Geflimmer auf dem Bildschirm ), sollten Sie mit GIF2
  76. und GIFANI keine Bilder anzeigen, die die Programme dazu veranlassen, in
  77. einen solchen Videomodus zu schalten. Es besteht in diesem Fall die Gefahr,
  78. daß Ihr Bildschirm Schaden nimmt !
  79.  
  80.   GIFANI kann auf verschiedenen Ebenen in Endlosschleifen betrieben werden,
  81. die durch einen Tastendruck beendet werden.
  82.   <Esc> beendet das Programm GIFANI an jeder Stelle und kehrt auf DOS- Ebene 
  83. zurück.
  84.   Jede andere Taste beendet die derzeitige Schleife. Das kann eine Animation
  85. oder die stehende Anzeige eines Bilds ( eventuell mit Farbanimation ) sein.
  86.   Wie ein externes Kommando ( /0 bzw. /1 ) beendet wird, kann von GIFANI
  87. nicht beeinflußt werden und kann auch GIFANI selbst nicht beeinflussen. Um
  88. die Arbeit von GIFANI zu unterbrechen, während mit einem externen Kommando
  89. ein Lied gespielt wird, muß deshalb mindestens 2 mal die <Esc> Taste betätigt
  90. werden.
  91.  
  92.   Der Programmaufruf sollte wie folgt aussehen :
  93.     GIFANI Filename[.GIF] /Option /Option
  94.     GIFANI @File.Ext
  95.   Mit @File.Ext kann ein Kommandofile bestimmt werden, das mehrere Kommandos
  96. für GIFANI enthalten kann. Das erspart es dem Anwender, ein Batchfile zu
  97. schreiben, um mehrere Animationen in Folge zu zeigen.
  98.   Im Kommandofile können sich einzelne Kommandos über mehrere Zeilen er-
  99. strecken, dafür muß das Ende jeden Kommandos mit einem einzelnen Ausrufe-
  100. zeichen (!) gekennzeichnet werden. Ohne '!' erfolgt keine Bildanzeige.
  101.   Das Kommandofile darf Leerzeilen und Kommentare enthalten. Kommentare werden
  102. durch ein Semikolon (;) am Anfang der Zeile gekennzeichnet.
  103.   Das Kommando 'LOOP' führt dazu, daß die Abarbeitung des Kommandofiles wieder
  104. mit der ersten Zeile beginnt. Soll ein File LOOP.GIF angezeigt werden, muß
  105. '.GIF' explizit angegeben werden.
  106.  
  107.   Die Optionen werden durch '-' oder '/` gekennzeichnet, die Groß / Klein-
  108. schreibung wird ignoriert.
  109.   Als Optionen sind möglich :
  110. /G   - bei Programmende nicht in den Textmodus schalten; d.H. das Bild bleibt
  111.        stehen.
  112.        Beim Abarbeiten eines Kommandofiles wird die /G- Option ignoriert und
  113.        bei Programm Ende immer in den Textmodus geschaltet.
  114. /N   - Den Bildschirm nicht löschen, wenn bereits der benötigte Videomodus
  115.        eingestellt ist.
  116. /K   - nicht auf einen Tastendruck warten, bevor das Programm beendet wird.
  117. /Znn - nach nn Hundertstelsekunden automatisch die Anzeige eines Bilds oder
  118.        einer Animation beenden.
  119.        /Z setzt automatisch /K. Soll trotz eingestelltem /Z das Programm
  120.        auf einen Tastendruck warten, muß nach /Z ein /K eingegeben werden.
  121. /ML  - Animationen endlos oder für die mit /Z eingestellte Zeit abspielen.
  122.        Normalerweise wird jedes Bild eines Multiimage- GIF- Files nur ein-
  123.        mal angezeigt.
  124. /MF  - Nach Ablauf der mit /Z eingestellten Zeit auf jeden Fall die Animation
  125.        noch bis zum Fileende spielen.
  126. /Mnn - Zeit zwischen 2 Bildern einer Animationsserie einstellen :
  127.   /M-1 schaltet Multiimage- Anzeige ganz aus - es wird nur das erste Bild
  128.   eines GIF- Files gezeigt.
  129.   /M mit einer positiven Zahl gibt an, wieviele Hundertstelsekunden zwischen
  130.   2 Bildern gewartet wird.
  131.   /M mit einer negativen Zahl ( außer -1 und -999 ) gibt an, wieviele VSYNCH-
  132.   Impulse zwischen 2 Bildern gewartet wird. In den meisten Fällen ist der
  133.   Abstand zwischen 2 VSYNCH- Impulsen 1 / 70 Sekunde.
  134.   /M-999 heißt, nach jedem Einzelbild auf einen Tastendruck warten.
  135.        Es können die Verschiedenen /M- Parameter in einem Stück eingegeben
  136.        werden z.B. /MFL-5 - aber NUR nach /M !
  137. /R   - Die im GIF- File befindlichen Bilder werden erst in steigender, dann
  138.        in fallender Folge gezeigt - und immer so weiter abwechselnd.
  139. /0 Kommando .. ' : '
  140.        Ein DOS- Kommando, das vor Anzeige der Animation ausgeführt wird.
  141.        Das Kommando kann aus mehreren durch Leerzeichen getrennten Wörtern
  142.        bestehen. Soll nach dem Kommando noch etwas anderes Folgen, z.B. ein
  143.        /1- Kommando, muß ein einzelner Doppelpunkt mit Leerzeichen davor
  144.        und dahinter eingegeben werden.
  145. /1 Kommando .. ' : '
  146.        Wie /0, aber das Kommando wird nach Anzeige der Animation ausgeführt.
  147.        Dabei wird verhindert, daß das aufgerufene Programm den Videomodus
  148.        umschaltet und das Bild löscht.
  149.  
  150. /CStart,Ende,Anzahl,Verzögerung
  151.   Colour- Cycling aktivieren ( Farbanimation ).
  152.   Es müssen folgende Werte eingegeben werden :
  153.   Start  = 1. Farbe zum rotieren ( 0 .. 255 )
  154.   Ende   = letzte Farbe zum Rotieren ( 0 .. 255 ), größer als Start- Wert.
  155.   Anzahl = Anzahl Farben pro Rotation. Ein negativer Wert kehrt die Richtung 
  156.            der Rotation um; je größer der absolute Wert ist, desto schneller 
  157.            werden die Farben rotiert.
  158.   Verzögerung = Anzahl von ( 1 / 18,2 sec. ) Timer- Ticks zwischen 2 Farb-
  159.            Rotationen. Die Voreinstellung ist 0 = schnell; je größer der
  160.            Wert für Verzögerung ist, desto langsamer werden die Farben
  161.            rotiert.
  162.   Nach /C müssen 4 Werte, getrennt durch Kommata und ohne Leerzeichen ein-
  163. gegeben werden. Der Verzögerungswert kann entfallen, aber ohne Eingabe des
  164. Anzahl- Werts wird die Farbanimation nicht gestartet.
  165.   Als Zeitbasis für die Farbanimation dient der System- Ticker, der 18,2 mal
  166. pro Sekunde ausgelöst wird.
  167.   Mit einem Verzögerungs- Wert von 0 werden bei jedem Timer Tick die angege-
  168. benen Farben um die eingestellte Anzahl rotiert. Ist der Verzögerungs- Wert
  169. größer 0, wartet GIFANI die entsprechende Anzahl Timer- Ticks zwischen 2
  170. Rotationen.
  171.  
  172.   Ein Beispiel :
  173. GIFANI TEST /MLF-3 /Z1000 /0LIST TEST.TXT : /1MP /0 FINAL
  174.   GIFANI ruft zuerst das Programm LIST und zwar 'LIST TEST.TXT' auf.
  175.   Danach wird das File TEST.GIF angezeigt, und zwar für 10 Sekunden, eine
  176. Bilderserie wird mehrmals gezeigt und nach Ablauf der 10 Sekunden auf jeden
  177. Fall bis zum letzten Bild angezeigt.
  178.   Abschließend wird das Programm MP aufgerufen ('MP /0 FINAL'), um das Lied
  179. FINAL.MOD auf dem internen Lautsprecher zu spielen.
  180.   Nach Beenden von MP kehrt GIFANI automatisch zu DOS zurück ( Wegen /Z ! ).
  181.   Soll nach Ende von MP auf eine Taste gewartet werden, muß der Aufruf wie
  182. folgt aussehen :
  183. GIFANI TEST /MLF-3 /Z1000 /K /0LIST TEST.TXT : /1MP /0 FINAL
  184.   oder
  185. GIFANI TEST /MLF-3 /Z1000 /0LIST TEST.TXT : /1MP /0 FINAL : /K
  186.   Die Aufgerufenen Programme ( im Beispiel LIST.COM und MP.COM ) müssen nicht
  187. im aktuellen Verzeichnis sein, sie werden auf dem PATH gefunden.
  188.  
  189.   Die Bilder, die GIFANI aus dem Arbeitsspeicher heraus anzeigt, werden SEHR
  190. schnell auf den Bildschirm gebracht. Es ist unbedingt nötig, eine Zeit zwi-
  191. schen den Einzelbildern einzugeben, da hierfür keine Voreinstellung besteht.
  192.   GIF2 benötigt außer bei Minibildchen auf einem superschnellen Computer zum
  193. Decodieren der einzelnen Bilder genug Zeit, um sie ohne explizit eingegebene
  194. Wartezeit noch erkennen zu können.
  195.  
  196.   Es ist möglich, GIFANI eine Kommandozeile 'permanent' zu installieren, die
  197. immer dann benutzt wird, wenn GIFANI ohne Parameter aufgerufen wird.
  198.   Dazu ist mein Programm ADDTEXT nötig, das einen Text an ein EXE- File an-
  199. hängen kann. Die zu installierende Kommandozeile wird in ein Textfile - z.B.
  200. CMD.TXT - geschrieben und anschließend ADDTEXT GIFANI CMD.TXT aufgerufen.
  201.   CMD.TXT kann beispielsweise 'GIFANI ANIM2 /ML-7 /Z3000' enthalten.
  202. Das Programm GIFANI darf umbenannt werden, allerdings muß beim Installieren
  203. des permanenten Kommandos immer als erste 7 Buchstaben 'GIFANI ' in der
  204. Kommandozeile stehen. Mehrere Kommandos können durch ' ! ' getrennt werden,
  205. das permanente Kommando darf maximal 127 Buchstaben lang sein. Ein instal-
  206. liertes Kommando kann durch ADDTEXT mit einem leeren Textfile deinstalliert
  207. werden.
  208.  
  209.  
  210.   GIF2 sollte eigentlich auf Plain Text Extensions im GIF- File reagieren.
  211.   GIFANI ignoriert grundsätzlich alle Extension Blocks in einem GIF- File.
  212.  
  213.   GIF2 dient hauptsächlich als Gerüstprogramm, um die Bearbeitung von im
  214. GIF89a- Format definierten Extension- Blocks zu ermöglichen.
  215.   Mit den besagten Extension- Blocks ist es möglich, zwischen 2 Bildern eines
  216. GIF- Files auf eine Taste zu warten, Texte ins Bild einzublenden, für Einzel-
  217. bilder eine transparente Farbe zu definieren und den ursprünglichen Bild-
  218. inhalt, der z.B. von einem Text überdeckt wurde, wiederherzustellen.
  219.   Die vollständige Beschreibung des GIF89a- Formats kann einem Dokumentations- 
  220. File entnommen werden, das im Zweifelsfall gegen Zusendung einer Leerdiskette 
  221. von mir erhältlich ist.
  222.  
  223.  
  224.   Ich glaube nicht, daß ich mit GIFANI einem kommerziellen Animationsprogramm
  225. Konkurrenz machen kann. Das hatte ich auch nicht beabsichtigt, allerdings
  226. muß ich von Zeit zu Zeit einmal solche Spielereien ausprobieren.
  227.   Im Zusammenhang mit GIFANI sind noch einige Progrämmchen von mir erwähnens-
  228. wert :
  229.   Mit GIFADD können einzelne GIF- Files zu einem Multiimage- File zusammen-
  230. gesetzt werden, um eine Animation herzustellen. Ggf. muß ein GIF- File mit
  231. GIFSTRIP für den Gebrauch von GIFADD präpariert werden.
  232.   GIFEXT kann ein Multiimage- GIF- File in einzelne Bilder zerlegen.
  233.  
  234.   ZUFALL kann dafür sorgen, daß nicht immer das selbe sondern ein zufällig
  235. ausgewähltes Lied gespielt wird. Im Beispiel von oben könnte ZUFALL wie
  236. folgt eingesetzt werden :
  237. GIFANI TEST /MLF-3 /Z1000 /0LIST TEST.TXT : /1ZUFALL 99 *.MOD MP /0 %1
  238.  
  239.   Um Teilbilder aus einem Bild auszuschneiden, kann ich das Sharewareprogramm
  240. GDS ( allerdings geht das Ausschneiden nur in der registrierten Version )
  241. empfehlen. Auch mit einigen Snapshot ( oder Screen- Capture ) Programmen
  242. können Teile des gesamten Bildschirminhalts abgespeichert werden. Dabei ist
  243. es nur nötig, daß die Koordinaten der linken oberen Ecke des Bildausschnitts
  244. im GIF- File abgespeichert werden.
  245.  
  246.  
  247.