logo_90
Uni ZH | Informatikdienste | PostScript

Der Clip-Pfad

Clipping nennt man das Begrenzen der Fläche, auf der eine Grafik ausgegeben werden soll. Alle Objekte ausserhalb des Clip-Pfades werden unsichtbar. Der Clip-Pfad gehört auch zum grafischen Status.

SWITCH0

Wie lässt sich der gemusterte Schriftzug (oben) mit einem PostScript-Programm darstellen? Dazu brauchen wir den Operator clip.

Zuerst definieren wir das Muster für den Hintergrund, nämlich die schrägen Striche. Die Routine Hintergrund besteht im wesentlichen aus einer Schleife repeat, die ihrerseits die Routinen strich und sprung aufruft und damit eine Schraffur erzeugt. Der Operator clip schneidet nun ein Stück davon aus. Dieser Operator eignet sich ausgezeichnet dafür, Schrifttypen oder andere Formen mit einem Muster oder mit Namen zu füllen. Es ist wichtig, dass wir nach clip den Operator newpath verwenden. Ohne newpath würde nicht nur das Muster gezeichnet, sondern auch die Umrisse würden ausgezogen; und dies ist unerwünscht. Am Schluss wird die von uns konstruierte Prozedur Hintergrund aufgerufen.

%!PS-Adobe-2.0 EPSF-1.2
%%DocumentFonts: Helvetica-Bold
%%BoundingBox: 50 350 440 425
%%EndComments
 
/Fett /Helvetica-Bold findfont 100 scalefont def
 
/strich { 500 -500 rlineto } def
/sprung { -500 496 rmoveto } def
/Hintergrund { gsave
               150 { strich sprung } repeat
               stroke grestore } def
 
%%EndProlog
 
50 350 translate
 
gsave
   newpath
   0 0 moveto
   8 setflat
   Fett setfont (SWITCH) true charpath clip
 
   newpath
   0 550 moveto
   1 setlinewidth
   Hintergrund
grestore
 
showpage
%%Trailer
Merken Sie sich die Operator-Kombination charpath und clip:
	(SWITCH) true charpath clip
Diese Operator-Kombination verwendet die Umrisse der entsprechenden Zeichenkette "SWITCH" als Clip-Pfad (clipping path). Anschliessend wird "Hintergrund" aufgerufen, um die Buchstabenformen mit dem Zebra-Muster zu füllen.

Hier noch eine Weiterentwicklung des SWITCH-Logos: SWITCH3

Ueberlegen Sie sich bei Gelegenheit einmal, wie Sie diese Erweiterung programmieren würden.


Uni ZH | Informatikdienste | PostScript
Last update: 14-MAR-00/vo