★ APPLICATIONS ★ CREATION GRAPHIQUE ★ MULTISCREEN (CPC AMSTRAD INTERNATIONAL) ★ |
MultiScreen | Teil 3: PEN-Umwandlung ohne Probleme (CPC Amstrad International '89/07) | Teil 4: Strukturveränderungen (CPC Amstrad International '89/08) |
3. Bildschirmmanipulationen Das MULTISCREEN-Programm 3.1. Allgemeines Unsere selbstprogrammierten Quadrate- und Pinselgrafiken sind zwar vielfach recht reizvoll, aber vollgültige Grafiken im alten Sinne des Wortes, also kleine, bis ins letzte ausgefeilte Darstellungen, die auch künstlerischen Wert beanspruchen können, sind die meisten von ihnen doch noch nicht. Das kann sich ändern, wenn wir nun daran gehen, sie mit dem MULTI-SCREEN-Programm zu bearbeiten. Wir tun das nicht, indem wir nun in dem Bild etwa irgendwelche Freihand-gezeichneten Zufügungen machen, sondern durch Bildschirm-Manipula-tionen; das heißt, wir werden daran gehen, den ganzen Bildschirm (oder Teile davon) durch rechnerspezifische Mittel gezielt zu verändern. MULTISCREEN baut auf dem in Heft 1/89, S. 58 vorgestellten KOMBI-SCREEN-Programm auf, ändert es für unsere Zwecke ab und führt es weiter. Wenn Sie es selber abtippen und nicht zur Databox greifen wollen, dann ärgern Sie sich bitte nicht über die so unübersichtlich langen Zeilen! Sie haben ihren guten Grund: Das Programm muß drei Bildschirme gleichzeitig verwalten, und es soll später noch durch zusätzliche, interessante Optionen erweitert werden. Da kommt es auf jedes einzelne Byte Speicherersparnis an — und mit langen Zeilen kann man allerhand sparen. Eine Zeile ist jeweils in einem Zuge abzutippen, also ohne dazwischen auf ENTER zu drücken! 3.2 Grundsätzliches zur Bedienung — Das Kombinieren Machen Sie sich zunächst mit den Optionen 1 bis 5 des Programms vertraut; in Heft 1/89 werden dafür viele Beispiele mit Bildern gegeben (die dort abgedruckten Programme " Pagode 1" und " Fläche 1" sind übrigens auch typische Pinselgrafiken). Wer dieses Heft nicht zur Hand hat, für den sind vor allem die folgenden Punkte wichtig:
3.3 Das Konvertieren Für diese Option wird nur ein Bild als Ausgangspunkt benützt. Ein eventuell schon im Speicher vorhandenes, früheres wird durch das Konvertieren nicht gelöscht und steht danach noch zum Kombinieren zur Verfügung. Probieren Sie auch hier bei all Ihren Bildern einfach durch, was sich alles ergibt. Auf einiges Grundsätzliches ist hinzuweisen: Das Konvertieren nach AND wandelt eine Grafik in eine "abgespeckte" Version um. Überprüfen Sie das an den "Globen"! Und wenn Sie das Ergebnis gleich noch nach XOR und anschließend noch einmal nach AND konvertieren, haben Sie einen schönen Sternenhimmel als Hintergrund für andere Bilder. Das Konvertieren nach XOR kann bei Grafiken, die viele schräge Linien und Flächen enthalten, zu besonders interessanten Ergebnissen führen. Nehmen Sie dafür das oben als Beispiel für Pinselgrafik mit Schrägsteuerung gezeigte "Kreuz"! Und erschrecken Sie nicht, wenn jetzt nach einem weiteren Konvertieren nach AND nur ein paar apart strukturierte Linien übrigbleiben. Konvertierungen nach OR machen eine Grafik dicker und fülliger und schließen Löcher im Umriß. Auch längere Konvertierungsfolgen lohnen das Ausprobieren. Nehmen Sie das "Kreuz" und konvertieren Sie: XOR — OR - OR - OR — XOR! Das läßt sich unendlich weiter experimentieren . 3.4. Das Ausfüllen Auf die Möglichkeiten, die im FILL-Befehl liegen, wurde bereits in Heft 1/89 hingewiesen; um sie bequem nutzen zu können, haben wir sie in MUL-TISCREEN eingebaut und um eine neue, grafisch sehr ergiebige Möglichkeit erweitert: den gestoppten FILL-Befehl. Freilich, ein Wermutstropfen für CPC-464-Besitzer: Sie können die Option (10) in der hier dargestellten Version nicht nutzen. Aber es gibt einen vorzüglichen Emulator, der auch ihnen den fehlenden FILL-Befehl verschafft. Der läßt sich aus Speicherplatzgründen zwar nicht mit MULTI-SCREEN zugleich verwenden, aber mit dem kleinen Nachteil des Pro-grammwechselns und Nachladens können auch auf dem CPC 464 die Möglichkeiten des Ausfüllens genützt werden. Laden Sie nun das Bild "Durchbrochener Raum" (Abb.l), und wählen Sie Option (10). Sie werden nach drei Parametern gefragt: Sperrfarbe ist die Farbe, mit der der auszufüllende Bereich umrandet sein muß, mit der Fill-Farbe wird ausgefüllt, und den Buffer "kriegen wir später". Geben Sie zunächst einmal einfach 1,1,1 ein. Ganz links unten (anfangs kaum sichtbar) erscheint ein Pfeil; steuern Sie ihn mit den Cursor-Tasten. Sein linker oberer Punkt markiert die Stelle, von der der Ausfüllvorgang ausgeht. Drücken Sie nun auf < f > , um die entsprechende Fläche zu füllen, und tun Sie das mit einer Reihe der an der linken und rechten Raumwand aufsteigenden Bahnen. Übernehmen Sie dann das Ergebnis durch zweimaligen Leertastendruck, und kombinieren Sie es mit dem vorhergehenden Bild über XOR— schon haben Sie diese apart strukturierten Bahnen isoliert. Nun das Besondere: Sie können diesen Ausfüllvorgang auch unterbrechen! Sie müssen dazu nur dem Computer den Bufferspeicher, den er für das Ausfüllen braucht und der oft über 1000 Byte groß ist, drastisch beschneiden, und schon kann der Computer das Ausfüllen nicht bis zum Ende durchführen und bricht vorzeitig ab. (Nähere Erläuterungen zu diesen interessanten und komplizierten Vorgängen folgen ein andermal.) Drücken wir nur die Wollen Sie die Farben und den Buffer wechseln, so drücken Sie Welche Buffergröße sinnvoll ist, läßt sich nicht pauschal beantworten, das ist von Bild zu Bild ganz verschieden. Sehr reich strukturierte Bilder brauchen mehr Buffer als solche, bei denen sich dem FILL-Befehl nur wenige Hindernisse in den Weg stellen. Ist der untere Bildrand frei, so genügt ein Buffer mit nur einem Byte, um das Ausfüllen einmal quer über das ganze Bild laufenzulassen. Eine Vergrößerung des Buffers läßt übrigens den Ausfüllvorgang nicht nur ein Stück weiter ablaufen, sondern verändert auch die aus- gefüllte Fläche; suchen Sie durch Probieren den Wert herauszufinden, der das interessanteste Bild ergibt. Als Beispiel dienen uns wieder unsere "Globen": Konvertieren Sie sie nach AND, geben Sie dann beim Ausfüllen einen Buffer von 50 ein, und steuern Sie den Cursor-Pfeil in das große Loch links unten am Bildrand, bevor Sie Es gibt noch weitere Möglichkeiten, den FILL-Befehl zu unterbrechen und seine Besonderheiten in vielfältiger Weise für grafische Gestaltungen heranzuziehen; das näher darzustellen, muß einem späteren Artikel vorbehalten bleiben. 3.5. Abschluß Zu den Spiegeloptionen ist, wenn Sie im MODE 2 arbeiten, nichts weiter zu erläutern; Sie können sie zur weiteren Umgestaltung Ihrer Bilder heranziehen. Viel Spaß dabei wünscht Ihnen CPCAI Im Zauberreich der Grafik Wie in der Ausgabe 3/89 angekündigt, wollen wir nun unseren Streifzug durch die fantastischen Grafikmöglichkeiten des CPC fortsetzen. Wichtig ist dabei wieder das MULTISCREEN-Programm (Heft 3/89, S.12), das uns zum Bearbeiten der Grafiken dient. Diejenigen, die das Programm nicht haben, Sie bekommen es in dieser Ausgabe nachgeliefert. Das Programm auf dem Titelbild der PC Amstrad Ausgabe 3/89 und im Aufmacherfoto des dazugehörigen Artikels (Seite 12) stammt nicht vom Autor dieses Beitrags, sondern von einem unserer Redakteure. Es ist übrigens kein bloßer Witz, wie manche Leser vielleicht gedacht haben, sondern ergibt, mit einigen ganz kleinen Änderungen, zwar kein Brötchen, aber ein sehr interessantes Interferenzenbild: Der FILL-Befehl: Grundlagen CPC-464-Besitzer brauchen bei diesem neuen Thema das Heft nicht enttäuscht beiseite zu legen! Auch sie können alle Möglichkeiten dieses Befehls in ihren Programmen einsetzen, wenn sie den “Emulator“ von M. Uphoff (in jedem Sonderheft) verwenden. Dieses kleine, aber sehr leistungs starke Programm ist ohnehin für CPC-464-Besitzer eine fast unerläßliche Arbeitshilfe und ermöglicht ihnen die Verwendung all der Befehle, die sonst nur die “größeren Brüder“ besitzen. Auch das COPYSHOP-Programm stellt einen auf allen CPCs lauf-fähigen FILL-Befehl zur Verfügung. Und schließlich werden Sie auch noch einen ebenfalls auf allen CPCs verwendbaren “Exotic-FILL“ kennenlernen. Genug Material also auch für den CPC 464! Die Syntax des FILL-Befehls scheint einfach: FILL < färbe >, wobei für < färbe > eine dem jeweiligen MODE entsprechende PEN-Nr. eingesetzt werden muß, also 0 oder 1 im MODE 2, 0 bis 3 im MODE 1, 0 bis 15 im MODE 0. Aber oft rührt sich nach diesem Befehl noch gar nichts! Es muß nämlich noch eine Bedingung erfüllt sein: Der (unsichtbare) Grafik-Cursor, von dem der Ausfüll Vorgang ausgeht, darf nicht auf einem in der sogenannten Sperrfarbe gesetzten Punkt liegen. Als Sperrfarbe gilt dabei ebenso der PEN, mit dem ausgefüllt wird, wie der PEN, mit dem der auszufüllende Bereich umrandet ist. Will man also von einer Grafik im MODE 2 etwas weglöschen, so genügt nicht die Angabe FILL 0; es muß vorher auch noch auf den GRAPHICS PEN 0 umgeschaltet werden, da der FILL-Befehl sonst, weil er auf einer Sperrfarbe beginnen müßte, gar nicht erst zum Wirken kommt. Daß der auszufüllende Bereich von einer vollkommen geschlossenen Linie in der Sperrfarbe umgeben sein muß, ist Ihnen sicher bekannt. Läuft die Farbe aus, so hilft MULTISCREEN beim Schließen der Lücken: < s >- und < w >-Taste setzen beim kurzen Antippen an der Position des Cursorpfeils einen Punkt, bei längerem Niederdrücken zeichnen sie eine senkrechte beziehungsweise waagerechte Linie. Probieren wir das Füllen an einem lustigen Beispiel aus. Wir nehmen dafür eine Quadrate-Grafik, bei der von den vier Seiten des Quadrats nur eine einzige übriggeblieben ist: Dieses Ausfüllen mehrerer Stellen können Sie natürlich, wenn es Ihnen nur um das fertige Bild geht, auch mit MULTISCREEN erledigen (Option 10 und f-Taste). Aber wenn Sie die Grafik vielleicht als Titelbild eines eigenen Programms verwenden möchten, ist es sehr reizvoll, das Entstehen auf dem Bildschirm mitverfolgen zu können. Das Tüpfelchen auf dem i ist bei der “Oma“ (Bild 3) dann noch das Zufügen der Augen mit der Zeile 33: 2.Der FILL-Wechsel als “Bildfresser“ Damit sind die Möglichkeiten des FILL-Befehls noch lange nicht erschöpft! Wichtig ist vor allem die interessante Tatsache, daß ein wiederholter Wechsel von FILL 1 -FILL 0 eine Bildstruktur allmählich aufzehren und dabei sehr interessante Zwischenstufen hinterlassen kann. Das soll an einer reizvollen Quadrate-Grafik gezeigt werden: Erproben wir nun die Möglichkeiten des wechselnden Ausfüllens an einer neuen Pinselgrafik: 3. Das Unterbrechen des FILL-Befehls Wenn man dieses Ausfüllen unterbrechen könnte! Nun, das können wir ja mit MULTISCREEN, und zwar über die Bufferbegrenzung (siehe Ausgabe 3/89, Seite 16). Probieren wir es also mit der Angabe 1,1,1 und anschließend 0,0,1, wieder von der Mitte aus, wobei wir beim zweitenmal < CONTROL > und f-Taste gleichzeitig drücken, so daß die Bufferbegrenzung wirksam wird. Nun wird das Ausfüllen gestoppt - aber das Ergebnis ist wenig befriedigend, es entsteht nur in der Mitte der hellen Fläche ein großes Loch. Verkleinerung des Buffers hilft auch nichts, da w'ird das Loch eben etwas kleiner, aber die Häuser von vorhin wollen nicht entstehen. Das hängt mit der Arbeitsweise des FILL-Befehls zusammen. Er “merkt“ sich alle noch nicht ausgefüllten Punkte, an denen er vorbeikommt, in einem bestimmten Speicherbereich, eben dem Buffer. Wenn der klein ist, kann er gar nicht so weit wie sonst in das Innere einer kompliziert gebauten Grafik Vordringen, sondern beginnt bald damit, den vollen Buffer abzuarbeiten — und dabei entsteht eben meist ein einfaches, grafisch nicht sehr wirkungsvolles Loch. Wer das COPY-SHOP-Programm besitzt, hat da schon eher Möglichkeiten. Der Ausfüllvor-gang dieses Programms läßt sich unterbrechen! Damit ist schon vieles möglich. Aber leider ist dieser FILL-Bcfehl nach einem anderen Prinzip gebaut als der des CPC-BASIC; er geht viel logischer und zusammenhängender und damit, was das Ausfüllen betrifft, sehr sinnvoll vor. Aber gerade infolge dieser rationellen Arbeitsweise erzeugt er nicht die weit ausgreifenden, bizarren Strukturen, die den CPC-FILL grafisch so reizvoll machen. Und der ist eine im ROM verankerte Maschinenroutine, in deren Ablauf, so glaubt man allgemein, nicht eingegriffen werden kann. Oder sollte das doch möglich sein? Nun, wir stellen Ihnen hier ein Programm vor, das Sie zwar, falls Sie nicht zur DATABOX greifen wollen, einige Tipparbeit kosten wird - aber es lohnt sich! Sie haben damit die Möglichkeit, den originalen Strukturverlauf des CPC-FILL-Befehls an jeder Stelle zu unterbrechen und den jeweiligen Zustand abzuspeichern. Hier dieser FILL-Unterbrecher: 4. Ausfällen, leicht exotisch Leider läuft der FILL-Unterbrecher nicht auf dem CPC 464. Damit auch dessen Besitzer zu ihrem Recht kommen, stellen wir Ihnen abschließend ein auf allen CPCs verwendbares Aus-füllprogramm vor, das Ihnen sicher ein Schmunzeln entlocken wird; denn es geht sehr eigenwillige Wege und erzeugt höchst exotische Füllmuster. Zudem frißt es sich mit provozierender Langsamkeit durch eine komplizierte Grafik (nur für solche Bilder, wie z.B. den “Eiglobus“, ist es geeignet); Sic können sich, während es arbeitet, ruhig zu einer Tasse Kaffee niedersetzen und von Zeit zu Zeit den erreichten Zustand durch Druck auf die Leertaste abspe ehern. Geht es Ihnen gar zu eigenwill ge Wege, so können Sie es mit der T bulatortaste stoppen, den Cursorpfc woanders hinbewegen und dort foi fahren. So bekommen Sie krau: Strukturen, wie sie Ihnen kein anden Programm liefern kann: Friedrich Belzner/cd , CPCAI |
|