Programowanie w PostScripcie

 

Podstawowe struktury maszyny PostScriptowej

 

Przykład struktury pliku PS

%!PS-Adobe-3.0
%%Title: Przyklad
%%Creator: M. Michalski
%%CreationDate: 10/29/99 11:44:54
%%Pages: (atend)
%%PageOrder: Special
%%DocumentNeededFonts: (atend)
%%EndComments
%%BeginDefaults
%%ViewingOrientation: 1 0 0 1
%%EndDefaults

%%BeginProlog
...                                 % definicje globalne itp.
%%EndProlog

%%Page 1 1
%%BeginPageSetup
...                                 % ustawienia dot. biezacej strony
%%EndPageSetup
...
...                                 % instrukcje PostScriptu
...

%%Trailer                           % informacje o uzywanych fontach,
%%DocumentNeededFonts: Times-Bold   % calkowitej liczbie stron itp.
%%Pages: 1                          % (p. wyzej "attend")

%%EOF

 

Przykłady prostych programów w PostScripcie

%!PS-Adobe-3.0
% Kwadrat i półkole
/cm {29.39 mul} def               % zamiana cm -> punkty
newpath                           % zacznij nową ścieżkę
8 cm 6 cm 3 cm 0 180 arc          % wytyczanie pólkola
closepath                         % zamykanie ścieżki (cięciwa)
0.65 setgray                      % ustawienie koloru wypełnienia
fill                              % wypełnianie ścieżki tuszem
0 setgray                         % powrót do czarnego koloru
newpath                           % 
4 cm 4 cm moveto                  % przenieś się do pktu (4cm, 4cm)
8 cm 4 cm lineto                  % dolny bok
8 cm 8 cm lineto                  % prawy ...
4 cm 8 cm lineto                  % górny ...
closepath                         % domknięcie ścieżki
stroke                            % pokrywanie ścieżki tuszem
showpage                          % drukowanie
%%EOF

 

%!PS-Adobe-3.0
% Szare półkole z czarnym konturem
/cm {29.39 mul} def               % zamiana cm -> punkty
newpath                           % zacznij nową ścieżkę
8 cm 6 cm 3 cm 0 180 arc          % wytyczanie pólkola
closepath                         % zamykanie ścieżki (cięciwa)
gsave                             % przechowaj ścieżkę i inne parametry
  0.65 setgray                    % ustawienie koloru wypełnienia
  fill                            % wypełnianie - usuwa ścieżkę 
grestore                          % odtworzenie scieżki, koloru tuszu itp.
0.1 cm setlinewidth               % wybieramy grubość obwiedni
stroke                            % rysowanie - także usuwa bieżącą ścieżkę
showpage                          % drukowanie
%%EOF

 

%!PS-Adobe-3.0
% Przykład użycia rotacji - "słoneczko" z 36 linii
0 10 360 {                  % Pętla od 0 do 360 co 10 stopni
  newpath                   % Nowa ścieżka
  gsave                     % Zapamiętujemy stan układu przed obrotem
  144 144 moveto            % Środek obrotu
  rotate                    % Obrót o kąt umieszczony na stosie przez pętlę
  72 0 rlineto              % Wytyczanie odcinka w obróconym układzie
  stroke                    % Kreślenie
  grestore                  % Wracamy do układu nieobróconego
} for                       % Pętla "for"
showpage
%%EOF