Animated GIFs
in beweging gebracht door Frans Gasthuis

In de jaren '80 was het voor een amateur-programmeur nog alleszins doenlijk een programma te schrijven voor de roemruchte 'BBC'. In de tijd dat 'BBCBasic' nauwelijks onderdeed voor 'Pascal' heb ik heel wat (onderwijs)software geschreven. Helaas is het programmeren onder WIMP (voor mij/nog) te ingewikkeld. Om toch het idee te hebben iets leuks in elkaar te kunnen draaien kwam HTML voor de WebPagina's op Internet als een geschenk uit de 'lucht'.

Toen ik regelmatig prachtige pagina's op mijn beeldscherm zag verschijnen werd ik nieuwsgierig naar de wijze waarop deze waren samengesteld. Tot mijn verrassing en opluchting bleken veel van de soms letterlijk 'schitterende effecten' op een bijna kinderlijk eenvoudige wijze te kunnen worden geproduceerd. Uiteraard trokken de 'bewegende beelden' de meeste aandacht en goed beschouwd zijn het ook juist de 'movies' die Internet iets extra's geven; per slot van rekening kun je teksten en plaatjes ook gewoon printen of drukken. Iemand die nog nooit een HTML pagina-beschrijving heeft gezien hoeft daarvoor alleen maar zo'n pagina van Internet te saven en die vervolgens met een editor te bekijken.

Daar wil ik het nu dan ook niet over hebben, maar één van de commando's wil ik er deze keer (in zijn meest eenvoudige vorm) uitlichten: <src="foto.gif">. Deze korte opdracht is voldoende om een gif-plaatje met, in dit geval, de naam foto/gif (/gif=DOS extensie) op het beeldscherm te laten verschijnen. I.p.v. een gif-plaatje mag er ook gebruik gemaakt worden van een JPeg-file (in dat geval: foto/jpg). Het aardige is nu dat een gifplaatje ook kan bestaan uit een bewegend beeld: een zogenaamde Animated Gif. (Er is geen equivalent voor een JPeg-plaatje - helaas)

De vraag is nu echter: 'Hoe kom ik aan een Animated Gif ?' Persoonlijk ben ik begonnen met ze te 'lenen' uit andere pagina's, om te kijken of het werkt. Vervolgens heb ik eens rondgekeken in het software-aanbod en kwam zodoende bij twee (freeware)programma's van een zekere Peter Hartley: 'InterGif5' en 'AADraw'. Beide programma's zijn te downloaden via: http://www.ant.co.uk/~peter/software/intergif.htm Intergif kan niet alleen voor het omzetten van Sprite naar GIF gebruikt worden (en omgekeerd), maar ook om 'Animated GIF' te maken (of eventueel weer te scheiden). Om een Animated Gif te maken kunnen afzonderlijke Sprites of GIFs naar het programma worden gesleept via de functie 'join input files' of er kan een (Animator) Film worden gebruikt.

Om bijvoorbeeld bewegende pijlen te maken heb ik vier opeenvolgende 'Sprites' in Animator geladen en vervolgens gesaved als Film. Deze Film werd door InterGif omgezet naar een Animated GIF die rechtstreeks in HTML te gebruiken is. De optie via afzonderlijke Sprites c.q. GIFs leidde niet (altijd) tot het beoogde resultaat. (Het werd wel een filmpje maar niet zoals het de bedoeling was)

Om een Animator Film te maken kun je uiteraard Sprites gebruiken die (b.v.) met !Paint gemaakt zijn. Een handiger methode is het om Draw (of vanuit ArtWorks Draw-Selection) files om te zetten naar Sprites. Hiervoor is dan de utility 'AADraw'. Dit programma werkt niet in de desktop maar (na F12) kan met het commando: '*aadraw Drawfile-naam' de drawfile omgezet worden in een (anti-aliased) Sprite-file. Enkele voorbeelden (en de link naar Peter Hartley's pagina) zijn te vinden op de Web pagina van de Regio Twente:

http://www.tip.nl/users/acorn.big.ben.club onder de "link: Demo pagina".

P.S. Het programma !Makro (op clubdiskette nr.63) biedt hele aardige mogelijkheden om de commando's voor HTML te verzamelen om ze vervolgens bij het 'programmeren' te kunnen gebruiken. Vooral het gebruik van verschillende 'sets' in het programma zijn bij uitstek geschikt om commando's per groep in te delen (b.v. startprocedures, achtergronden, kleurcodes enz.). Wanneer ik een praktisch bruikbare hoeveelheid sets heb samengesteld zal ik ze (eventueel) 'downloadable' maken via de regio pagina.

Nog fraaier zou het uiteraard zijn wanneer een WIMP-programmeur een bruikbare echte HTML-editor zou weten te maken.