20.3 Beschreibung der ARexx-Befehle
Zum einfachen Verstehen der Parameter ist es sinnvoll, Xi-Paint
aufzurufen und mit der eingebauten Makrofunktion ein ARexxSkript
automatisch erzeugen zu lassen. Wählen Sie aus dem Menü"Sonstiges" den
Unterpunkt "Makro starten" aus. Führen Sie einen Befehl aus und beenden Sie
das Makro, indem Sie auf "Beenden" des Makro-Fensters klicken. Es öffnet
sich der Dateirequester, in dem Sie einen Namen eingeben können. Diese
Datei können Sie wiederum als Grundlage Ihrer ARexx-Skripte verwenden bzw.
auch nur einfach ausführen.
Sehen Sie sich mit einem Editor das erstellte ARexx-Skript einmal
an:
1> ed work:xipaint/makro/test.rx
In den Beispielen werden die ersten beiden Zeilen, um das Handbuch
übersichtlich zu halten, nicht immer mit angegeben - ARexx benötigt jedoch
unbedingt in jedem Skript folgenden Eintrag:
/* Automatic generated macro from XiPaint 3.0 */ address
´xipaint´
Die erste Zeile ist ein beliebiger Kommentar - innerhalb von sogenannten
Remarks. Diese Zeile benötigt ARexx, um zu erkennen, ob es sich wirklich um
ein gültiges Skript handelt. Die zweite Zeile sagt dem ARexx, wer die nun
folgenden Daten zu bearbeiten hat -nämlich in unserem Fall Xi-Paint.
Sie können, nachdem Sie Xi-Paint gestartet haben, mit der
Tastenkombination <r-Amiga> < n > auf die Workbench gehen und
eine Shell starten.
Ein ARexx-Skript starten Sie dann mit:
1> rx Work:xipaint/makro/test.rx
Nun sollte sich am Bildschirm etwas tun. Die einfachen Anführungszeichen
links und rechts vor manchen Befehlen dienen dazu, eine richtige
ARexx-Übergabe zu gewährleisten. Im Normalfall braucht man diese nicht zu
schreiben. Damit ARexx jedoch den richtigen Messageport findet, muß zum
Beispiel das Kommando "address ´xipaint´ " sehr wohl in
Anführungsstrichen gesetzt werden. Ebenso muß man die ganze Zeile in ein
´ setzen, wenn negative Zahlen im Übergabestring enthalten sind.
Sonst versucht ARexx eine Berechnung zweier Parameter durchzuführen - und
die Parameterliste ist nicht mehr vollständig.
- arc, 6 Parameter
Zeichnet eine Bezierkurve mit drei Stützpunkten. Die Koordinaten werden in
den ersten 6 Parametern angegeben, jeweils X und Y.
Beispiel:
´arc 227 89 381 140 272 216´
- aslreq, 1 Parameter
Ist als Parameter 1 angegeben, dann öffnet sich an Stelle des
Xi-Paint-Filerequesters der Asl-Filerequester des Betriebssystems 2.0.
Beispiel:
aslreq 1
- beginpoly, kein Parameter
Startet den Vorgang zum Zeichnen eines ungefüllten oder
gefüllten Polygons, bzw. zum Ausschneiden eines polygonialen
Brushs.
Beispiel:
/* Automatic generated macro from XiPaint 3.0 */
address ´xipaint´ beginpoly
´polymove 200 181´
´polydraw 119 212´
´polydraw 118 213´
´polydraw 120 213´
´polydraw 189 202´
´polydraw 228 226´
´polydraw 200 181´
´endpoly´
beginpoly
´polymove 17 8 285´
´polydraw 106 333´
´polydraw 172 313´
´polydraw 184 360´
´polydraw 178 285´
´endpbrush
- box, 4 Parameter
Zeichnet ein ungefülltes Rechteck. Die ersten 4 Parameter
geben die Eckpunkte an.
Beispiel:
´box´ 190 419 232 474
- brushload, eine Zeichenkette
Ladet einen Brush.
Beispiel:
´brushload´ ´pictures/TutEnchS.jpg´
- brushsave, ein Zeichenkette
Sichert einen Brush ab.
Beispiel:
´brushsave´ ´pictures/TutEnchS.iff´
- brushturnd, ein Parameter
Dreht einen Brush um den eingestellten Winkel.
Beispiel:
/* Automatically generated macro from XiPaint 3.0 */
address ´xipaint´
´getbrush 142 235 56 29´
´brushdouble´
´brushyhalf´
´brushxhalf´
´brushdouble´
´brushhalf´
´brushsize 41 266 ´
´turnbrushy´
´turnbrushz´
´brushturnd´ 23
endrexx
- brushturnx, kein Parameter
Spiegelt einen Brush an der X-Achse.
Beispiel: siehe "brushturnd" >
- brushturny, kein Parameter
Spiegelt einen Brush an der Y-Achse.
Beispiel: siehe "brushturnd"
- brushturnz, kein Parameter
Dreht einen Brush um 90 O um die Z-Achse.
Beispiel: siehe "brushturnd"
- brushxhalf, kein Parameter
Halbiert den Brush in der X-Achse.
Beispiel: siehe "brushturnd"
- brushyhalf, kein Parameter
Halbiert den Brush in der Y-Achse.
Beispiel: siehe "brushturnd"
- brushhalf, kein Parameter
Halbiert den Brush in beiden Achsen.
Beispiel: siehe "brushturnd"
- brushdouble, kein Parameter
Verdoppelt den Brush in beiden Achsen.
Beispiel: siehe "brushturnd"
- brushsize, 2 Parameter
Der Brush kann eine beliebige Größe annehmen. Die beiden
Parameter geben die neue Größe in Pixel an.
Beispiel: siehe "brushturnd"
- cls, ein Parameter
Löscht den Bildschirm in der aktuellen Palettenfarbe,
Schwarz oder Weiß.
________________________________________________
| Art | Wert |
----------- ------------------------------------
| 20922 | Löschen in Schwarz |
| 20921 | Löschen in Weiß |
| 20920 | Löschen in aktueller Palettenfarbe |
------------------------------------------------
|
Beispiel:
cls 20920
- color, 4 Parameter
Setzt die Farben. Die ersten 3 Parameter geben den Rot-,
Grün- und Blau-Wert an, der vierte Parameter die Farbe, die
man ändern möchte. Diese ist von 0 bis 255 gültig.
Beispiel:
´color 12 254 242 0´
´color 239 254 14 1´
- cyclemode, 1 Parameter
Legt den Modus fest, welche Farben beim Cycle durchlaufen
werden sollen, wieviele und welche Paletteneinträge verwendet
werden.
Der erste Wert gibt den Offset an, ab dem der Farbeintrag
beginnen soll. Bei 2000 Einträgen ist dies ein Wert zwischen
0 und 1999.
Der zweite Wert gibt den aktuellen internen Paletten-Schritt
an. Auch dieser ist nur innerhalb der angegebenen Schritte
zulässig.
Der dritte Wert gibt die maximalen Schritte an. Derzeit sind
nur 2000 möglich.
Der vierte und fünfte Wert geben die Start- und Ziel Palette
an, über die gecycled werden soll.
Beispiel:
´cyclemode´ 0 0 2000 2 6
- dline, 6 Parameter
Dient zum Zeichnen einer durchgehenden Linie. Der Un-
terschied zu "line" besteht darin, daß nur zum jeweils ange-
gebenen Punkt gezeichnet wird. Mit Move fährt man zum
gewünschten Anfangspunkt.
Beispiel:
´setpoint´ 124 62
´setpoint´ 124 62
´polymove´ 81 81
´dline´ 82 83
´dline´ 85 90
´dline´ 87 101
´dline´ 90 110
´dline´ 93 117
´dline´ 111 123
´dline´ 116 122
´dline´ 118 120
´endrexx´
- drawpara, 7 Parameter
Dient zum Festlegen der aktuellen Parameter "Dunkelheit"
und "Helligkeit", etc.:
_____________________________________________________________
| Parameter | Einstellparameter | Wertebereich |
-------------------------------------------------------------
| 1 | Aufhellfaktor | 0-255 |
| 2 | Abdunkelungsparameter | 0-255 |
| 3 | Antialiasingfaktor | 0-255 |
| 4 | fastfill | 0-1 |
| 5 | keep-mask | 0-1 |
| 6 | Pixel-Strom | 0-16000 |
| 7 | 1-Pixel-Strom | 0-16000 |
-------------------------------------------------------------
|
- edge, 1 Parameter
Hiermit kann man den Griffpunkt des Pinsels oder Brushs
bestimmen. Im Normalfall ist dieser in der Mitte. Auf Wunsch
kann man mit diesem Befehl den Griffpunkt auch an andere
Stellen legen.
__________________________
| Wert | Einstellung |
--------------------------
| 1 | links oben |
| 2 | links unten |
| 3 | rechts oben |
| 4 | rechts unten |
| 0 | mittig |
--------------------------
|
Beispiel:
edge 1
- ellips, 4 Parameter
Zeichnet eine nicht ausgefüllte Ellipse. Die 4 Parameter
geben den Mittelpunkt und den Radius an.
Beispiel:
´ellips´ 297 305 316 329
- endpoly, kein Parameter
Beendet ein Polygon.
Beispiel:
siehe beginpoly.
- endfpoly, kein Parameter
Beendet ein gefülltes Polygon.
Beispiel:
siehe beginpoly.
- endpbrush, kein Parameter
Beendet einen Polygon-Brush.
Beispiel:
siehe beginpoly
- endrexx, kein Parameter
Beendigt ein ARexx-Skript, so daß wieder ein normaler Zeichenzustand
erreicht wird. Dieser Befehl sollte nach jedem
ARexx-Skript angegeben werden.
Beispiel:
endrexx
- exit, kein Parameter
Beendet Xi-Paint.
Beispiel:
exit
- fbox, 4 Parameter
Zeichnet ein gefülltes Rechteck. Die ersten 4 Parameter geben
die Eckpunkte an.
Beispiel:
´fbox´ 190 419 232 474
- fellips, 4 Parameter
Zeichnet eine ausgefüllte Ellipse. Die 4 Parameter geben den
Mittelpunkt und den Radius an.
Beispiel:
´fellips´ 297 305 316 329
- fill, 4 Parameter
Füllt ab der eingegebenen X-Y-Koordinate alle gleichbleibenden
gleichfarbigen Farbpixel.
Beispiel:
´fill 100 100´
- fontdpi, 3 Parameter
Stellt die X-zu-Y- Auflösung des Fonts ein. Der dritte Parameter
schaltet Antialias ein/aus.
Beispiel:
fontdpi 75 80 0
- getbrush, 4 Parameter
Schneidet einen rechteckigen Brush aus. Die 4 Parameter sind
die Eckpunkte.
Beispiel: siehe "brushturnd"
- gradmode, 3 Parameter
Dieser stellt für den Verlauf die Art ein, wie dieser erfolgen
soll. Der zweite und dritte Parameter stellen in % den x- und
y-Wert des fünften Punktes dar.
___________________________________
| Wert | Einstellung |
-----------------------------------
| 1 | Horizontal, 2 Farben |
| 2 | Vertikal, 2 Farben |
| 4 | 3 Farben, Oben zwei |
| 3 | 3 Farben, Unten zwei |
| 5 | 4 Farben |
| 6 | 5 Farben |
-----------------------------------
|
- itext, 3 Parameter
Mit diesem Befehl können Sie aus einem ARexx-Skript her-
aus interaktiv einen Text erfragen und diesen dann als Brush
generieren lassen.
Beispiel:
/* Interaktiver Text */
address ´xipaint´
´itext´
endrexx
- line, 4 Parameter
Zeichnet eine Linie von den Koordinaten x1, y1 bis zum
Endpunkt x2, y2.
Beispiel:
´Color´ 102 102 102 0
´line´ 319 140 412 234
- lighttable, kein Parameter
Mit diesem Befehl schalten Sie den Leuchttisch ein bzw. bei
nochmaligem Aufruf wieder aus. Siehe auch im eigenen Kapitel
"Der Leuchttisch"
Beispiel:
lighttable
- maskclut, 2 Parameter
Gibt die die X- und Y-Koordinate des aufzunehmenden
CLUT-Bereiches an. Diese Farbwerte werden dann ausmaskiert.
Sie dienen als "Color Look Up Table" (CLUT).
Beispiel:
´maskclut´ 194 144
- maskmode, 7 Parameter
Schaltet die Maske ein bzw. bestimmt, welche Art der Maske
verwendet werden soll.
Die folgende Tabelle stellt die Maskierungsmodi dar:
_________________________________________________________________
| Parameter | Wert | Funktion |
-----------------------------------------------------------------
| 1 | 0 | Auf Maskierung wird nicht gezeichnet |
| 1 | 1 | Auf Maskierung wird gezeichnet |
| 2 | 0-255 | Maskierungs-Stützpunktfarbe |
| 3 | 0-3600 | Hue-Bereich der Maskierung |
| 4 | 0-255 | Sättigungsbereich der Maskierung |
| 5 | 0-255 | Helligkeitsbereich der Maskierung |
| 6 | 1-20 | Seitengröße des CLUT-Rechtecks |
| 7 | 0 | Maske ausschalten |
| 7 | 1 | Maske einschalten |
-----------------------------------------------------------------
|
Beispiel:
´maskmode´ 1 1 10 10 10 10 1
- maxmask, kein Parameter
Es wird automatisch zum aktuellen Pinsel eine Maximum-
Maske generiert.
- minipic, ein Parameter, ein Zeichenkette
Der erste Parameter gibt an, ob die Datei, die ein Minipic
erhalten soll, ein Bild ist (0), oder ein Zeichensatz(1).
Die anzugebende Zeichenkette ist der Dateiname.
- picload, ein Zeichenkette
Lädt Bilder im Xi-Paint, als auch IFF-, JPEG und
PPM-Format : :,:je nach verwendeter multipic.library.
Beispiel:
´picload´ ´pictures/TutEnch.jpg´
- picsave, ein Zeichenkette
Sichert Bilder im Xi-Paint- wie auch im IFF- JPEG und
PPM-Format, je nach verwendeter multipic.library.
Beispiel:
´picsave´ ´pictures/TutEnch.iff´
- pointlayout, 3 Parameter
Legt den Zeichenstift fest. Der erste Parameter gibt an, ob
der Stift rund (1) oder quadratisch (0) sein soll. Der zweite
Parameter gibt die Ausdehnung bzw. den Durchmesser an.
Der dritte Parameter bestimmt die Farbart (Modus), in der
gezeichnet werden soll.
Beispiel:
pointlayout 0 8 3
- polymove, 2 Parameter
Positioniert den internen Cursor. Dient zum Einstellen eines
Polygons etc.
Beispiel:
beginpoly
´polymove 186 154´
´polydraw 121 187´
´polydraw 164 238´
´polydraw 163 238´
´polydraw 222 206´
´polydraw 186 154´
´endpbrush´
´setpoint 221 156´
- polydraw, 2 Parameter
Zeichnet eine Polygonlinie, bzw. schneidet an dieser Linie
einen polygonialen Brush aus.
Beispiel: siehe "polymove"
- redo, kein Parameter Es wird ein REDO ausgeführt.
- savemode, 2 Parameter
Gibt an, ob ein Bild bzw. Brush im IFF-ILBM-Format oder
im IFF-DEEP Format abgespeichert werden soll. IFF-DEEP
ist zwar wesentlich schneller, jedoch sind die Dateien länger.
Siehe auch eigenes Kapitel über Laden und Speichern.
Der zweite Parameter ist normalerweise 24 (Bit) bzw., falls
das Format einen Alpha-Kanal unterstützt, 32 (Bit).
__________________________
| Wert | Fileformat |
--------------------------
| 0 | IFF-DEEP |
| 1 | IFF-ILBM |
| 2 | PBM |
| 3 | PPM |
| 4 | SUNRASTER |
--------------------------
|
Beispiel:
´savemode´ 4 32
- setfont, ein Zeichenkette, 1 Parameter
Lädt einen beliebigen Font in einer beliebigen Größe.
Beispiel: siehe "text"
- setgrid, 5 Parameter
Schaltet ein beliebig einstellbares Gitter ein. Die ersten bei-
den Parameter geben den Abstand, die nächsten beiden den
Offset vom Nullpunkt des Bildschirmes an. Der fünfte Para-
meter schaltet das Gitter ein (1) oder aus(0);
Beispiel:
setgrid 3 3 0 0 1
- setmaxmove, ein Parameter
Gibt den maximal sichtbaren Brush in Pixel an. Ein Brush,
der größer als der angegebene Pixelbereich ist, wird als
Rechteck angezeigt.
Beispiel:
setmaxmove 50000
- setpoint, 2 Parameter
Dient zum Setzen eines Punktes an der x, y-Koordinate.
Beispiel:
´setpoint 145 184´
- setshadow, 3 Parameter
Hier geben Sie die Richtung des Schattens an, bzw. wie dieser
aussehen soll. Die ersten beiden Parameter geben den x- bzw
y-Versatz des Schattens an. Der dritte Parameter schaltet
den Schatten ein (1)/aus(0).
Wie stark der Schatten abdunkeln soll, gibt der Abdunkelungsparameter
im Parameterfenster an.
Beispiel:
siehe "text"
- text, kein Parameter, nur Zeichenkette
Erzeugt aus den angegebenen Text einen Brush.
Beispiel:
´setfont´ 60 ´FONTS:CGTriumvirate.font´
´setshadow´ 10 ´-10´ 1
´text´ ´Der Versuch´ setpoint 10 30
- undo, kein Parameter Es wird ein UNDO ausgeführt.
- version, kein Parameter
Gibt die aktuelle Versionsnummer von Xi-Paint aus.
Beispiel:
/* gets the version from Xi-Paint */
options results
address ´xipaint´ ´Version´
say result ´version´
- vlabinput, 3 Parameter
Setzt den VTR-Modus (0/1), PAL/NTSC (1/0) und den
Input-Kanal des VLab-Digitizers.
Beispiel:
vlabinput 0 1 2
- vlabscansize, vier Parameter
Setzt die Digitizer-Bereiche von VLAB. Die 4 Parameter geben
die linke Ecke, obere Ecke, die Weite und die Höhe an.
Beispiel:
vlabscansize 0 20 720 600
- vlabdigi, kein Parameter
Digitalisiert ein Bild mit dem VLab-Digitizer.
Beispiel:
vlabgrab 0 20 720 600
- vlabdeinter, kein Parameter
Führt DeInterlace am aktuellen Projekt aus. Beachten Sie
jedoch, daß ein VLab-Digitizer in Ihrem Rechner vorhanden
sein muß, um diese Funktion ausführen zu können.
Beispiel:
vlabdeinter
- wait, ein Parameter
Um in einer Demonstration eine Warteschleife verwenden zu
können, reicht dieser Befehl. Der Parameter gibt die Zeit in
fünfzigstel Sekunden an, die Xi-Paint warten soll, bevor die
nächste Aktion gestartet werden soll.
|