• Nie Znaleziono Wyników

Język PostScript Standard w systemach DeskTop Publishing 72 punkty

N/A
N/A
Protected

Academic year: 2021

Share "Język PostScript Standard w systemach DeskTop Publishing 72 punkty"

Copied!
8
0
0

Pełen tekst

(1)

Język PostScript Standard w systemach DeskTop Publishing 72 punkty  1 cal

% - oznacza komentarz

Interpreter – rozkazy zapisywane w odwrotnej polskiej notacji Przykład:

72 72 translate - przesuwa układ współrzędnych o 1 cal

 System pomiarowy odpowiada 72 punktom na cal

 Początek układu współrzędnych jest w lewym końcu dolnym końcu rogu strony

 Aktualnym kolorem jest czarny

 Aktualną szerokością linii jest 1 punkt Przykład:

144 216 moveto - przesuwa punkt bieżący do punktu o współrzędnych (144,216)

288 288 moveto ustala linię (ścieżkę) od punktu bieżącego do punktu (288,288)

closepath – zamyka aktualną ścieżkę Instrukcje

x y moveto – ustalenie punktu (x,y) jako aktualnego

x y lineto – rysuje linię od punktu aktualnego do punktu (x,y) Przykład: - rysowanie trójkąta

%! PS – Adobe 50 50 moveto 600 300 lineto 600 600 lineto 50 50 lineto stroke

showpage

Po utworzeniu aktualnej ścieżki możemy ją narysować lub wypełnić kolorem.

stroke – rysuje ścieżkę

fill – wypełnia ścieżkę aktualnym kolorem

(2)

x y rmoveto – przesuwa aktualny punkt do punktu powiększonego o wektor o współrzędnych (x,y) bez kreślenia linii

x y rlineeto – kreśli linię od aktualnego punktu do punktu powiększonego o o wektor o współrzędnych (x,y), a[0,1].

a setgray – zmienia odcień szarości 0 czarny, 1 biały

Kolory:

p q r setrgbcolor – ustala aktualny kolor, p, q, r[0,1].

Zadanie 1

Narysować wypełniając różnymi kolorami lub odcieniami szarości obszary wyznaczone przez linie:

Zadanie 2

Narysować wypełniając różnymi kolorami lub odcieniami szarości obszary wyznaczone przez linie:

DEFINIOWANIE PROCEDUR

(3)

Postać:

/nazwa { opis } def Przykład:

/square{72 0 rlineto 0 72 rlineto –72 0 rlineto closepath} def Przykład: użycia

%! Adobe – PS

/square{72 0 rlineto 0 72 rlineto –72 0 rlineto closepath} def 100 100 moveto square fill

100 300 moveto square stroke showpage

Rysowanie i wypełnianie ścieżki gsave – zachowuje aktualną ścieżkę grestore – przywraca ścieżkę

Przykład:

%! Adobe – PS 5 setlinewidth 30 30 moveto 72 0 rlineto 0 72 rlineto closepath gsave stroke grestore

0.1 0.6 0.5 setrgbcolor fill

showpage Zadanie 3

Wykonać program w PS rysujący szachownicę.

Rysowanie i wypełnianie ścieżki

(4)

x y translate – przesunięcie układu współrzędnych do punktu o współrzędnych (x,y)

Przykład:

%! Adobe – PS

/square{72 0 rlineto 0 72 rlineto –72 0 rlineto closepath} def gsave

72 72 translate square fill grestore

gsave

500 72 translate square stroke grestore

gsave

0.5 setgray grestore gsave

0.5 setgray

72 300 translate square stroke grestore

gsave showpage

Zmiana rozmiaru

S1 S2 scale – zmniejsza obraz w kierunku osi x S1-razy i zmniejsza obraz w kierunku osi y S2-razy

Przykład:

%! Adobe – PS

/square{72 0 rlineto 0 72 rlineto –72 0 rlineto closepath} def 60 60 moveto square fill

60 360 moveto square fill 0.1 Setgray

0.5 0.5 scale

(5)

360 60 translate square fill showpage

Tworzennie łuków

xc yc R 1 2 arc [arcn]– rysuje łuk okręgu o środku (xc,yc), promieniu R i współrzędnych biegunowych 1 , 2 odpowiednio

początku i końca łuku w stopniach arc – przeciwnie do ruchu wskazówek zegara

arcn – zgodnie z ruchem wskazówek zegara Przykład:

%! Adobe – PS 70 70 40 0 270 arc stroke

showpage Przykład:

%! Adobe – PS 70 70 moveto

70 70 40 0 270 arc stroke

1 0 0 setrgbcolor 70 70 40 0 270 arc closepath

fill

300 300 translate 0 1 0 setrgbcolor 70 70 40 0 270 arc closepath

showpage Zadanie 4

Wykonać program w PS rysujący odcinek oraz wycinek koła.

(6)

ALGORYTM TWORZENIA PLIKU W PS RYSUJĄCY ŁAMANĄ 1 Otwarcie pliku z danymi.

2 Otwarcie pliku PS.

3 Pobranie danych z pliku.

4 Wykonanie nagłówka w pliku PS.

5 Znalezienie „ramy” rysunku.

6 Przeskalowanie współrzędnych.

7 Generowanie instrukcji w PS rysujących odcinki łamanej.

Funkcja znajdująca współrzędne lewego dolnego oraz górnego prawego wierzchołka minimalnego prostokąta o bokach równoległych do osi układu współrzędnych

frame(x,y,n,xmin,xmax,ymin,ymax)

double x[],y[],*xmin,*ymin,*xmax,*ymax; long n;

{long i;

*xmin=x[0];*xmax=x[0];*ymin=y[0];*ymax=y[0];

for (i=0;i<=n;i++) {

if (*xmin>x[i]) *xmin=x[i];

if (*xmax<x[i]) *xmax=x[i];

if (*ymin>y[i]) *ymin=y[i];

if (*ymax<y[i]) *ymax=y[i];

} }

PROGRAM GŁÓWNY

(7)

#include <stdio.h>

void main() {

double x[1000],y[1000], xmin,xmax,ymin,ymax, alf;

long n,i;

FILE *fr, *fw;

fr =fopen("dane","r");

fw =fopen("rysunek.ps","w");

fscanf(fr,"%ld",&n);

printf("%ld",n);

for (i=0;i<=n;i++) {

fscanf(fr,"%lf %lf", &x[i], &y[i]);

printf("%lf %lf\n", x[i], y[i]);

}

frame(x,y,n,&xmin,&xmax,&ymin,&ymax);

if(xmax-xmin > ymax-ymin) alf=xmax-xmin;alf=ymax- ymin;

printf("\n alf= %lf\n", alf);

/* Przeskalowanie*/

for (i=0;i<=n;i++) {

x[i]=(x[i]-xmin)/alf*550+50;

y[i]=(y[i]-ymin)/alf*550+50;

}

/* Generowanie zbioru PS */

fprintf(fw,"%%! PS Adobe\n");

fprintf(fw,"%lf %lf moveto\n",x[0],y[0]);

for (i=1;i<=n;i++)

fprintf(fw,"%lf %lf lineto\n",x[i],y[i]);

fprintf(fw,"\n stroke\n showpage");

}

frame(x,y,n,xmin,xmax,ymin,ymax)

double x[],y[],*xmin,*ymin,*xmax,*ymax; long n;

{

long i;

*xmin=x[0];*xmax=x[0];*ymin=y[0];*ymax=y[0];

for (i=0;i<=n;i++) {

if (*xmin>x[i]) *xmin=x[i];

(8)

if (*xmax<x[i]) *xmax=x[i];

if (*ymin>y[i]) *ymin=y[i];

if (*ymax<y[i]) *ymax=y[i];

} }

5. Wykonać program generujący program w PS, który drukuje szachownicę wymiaru mxn.

6. Wykonać program generujący program w PS, który drukuje wykres kołowy dla odpowiednich danych z pliku.

Drukowanie tekstu:

/Times-Roman findfont 20 scalefont

setfont

(‘tekst’) show

Cytaty

Powiązane dokumenty

Wysokość raty miesięcznej w Leasingu SMARTPLAN jest średnio o 60% niższa niż wysokość raty miesięcznej w Standard Leasingu oferowanym przez Toyota Leasing na okres

Figure 12 : Turn-off switching characteristics (with series inductance).

Włożyć dwie baterie w rozmiarze AAA (mini, LR03) 1,5 V do komory baterii. Należy zachować prawidłową biegunowość: długa sprężyna biegun ujemny; krótka sprężyna biegun

1 i 2 ustawy Prawo zamówień publicznych, mając na uwadze, że gwarancje – aby spełniały swój cel – muszą mieć charakter nieodwołalny i bezwarunkowy, a wszelkie okoliczności,

Von Dr. Wissenschaften Göttingen, Physik.. Von Min era lie n du rch setzte Kohle.. und allem ändern.. Reichsgericht in Zivilsachen vom 8.. anzuse hen habe.. Eine Über

Gorzałka też się przyda 16 listopada nieznani sprawcy włamali się przez okno piwnicz ne do domku jednorodzinnego przy ul.. Włamywacze wyła mali okienko i dokonali

Wpłaty gmin i powiatów na rzecz innych jednostek samorządu terytorialnego oraz związków gmin, związków powiatowo-gminnych lub związków powiatów na dofinansowanie

Pociągnij za spust, aby powrócić do normalnego trybu pracy i rozlegnie się dźwięk brzęczyka alarmowego (jeśli „bU2” jest włączony).. Włączanie / wyłączanie