2010-11-23 9 views
2

Ich versuche, eine Postscript-Funktion Wörterbuch des Typs 0 zu erstellen. Die Eingabe ist Single-Dimension und die Ausgabe ist 3 Dimension. Eingang 0 Ausgang [0 0 0] Eingang 1 Ausgang [1 1 1] Ich habe Probleme beim Schreiben der DataSource für dieses Funktionsverzeichnis. Das PLRM-Handbuch besagt, dass DataSource entweder eine Zeichenfolge oder reine Binärdaten sein muss. Kann mir jemand helfen, diese Werte dem Format zuzuordnen, das DataSource erwartet?Erstellen Postscript-Funktion Wörterbuch Typ 0

/Function 0 /Domain [0 1] /Bereich [0 1 0 1 0 1] /Bestellen 1 /BitsPerSample 8 /Größe [2] /Datasource ????

Danke.

Antwort

2

Gemäß dem PLRM ist/DataSource entweder eine Zeichenfolge oder eine Datei. Nehmen wir an, Ihre Beispielwerte sind 0x00 und 0xFF.

Für eine Zeichenfolge, verwenden Sie einen Hex-String wie folgt aus:

/DataSource <00FF> 

Die Datei Methode ist komplizierter und für zwei Bytes von Beispieldaten wäre ineffizient. Ich werde das hier nicht zeigen, es sei denn, Sie müssen die Daten wirklich aus einer Datei lesen.

+0

Ich sehe. Ich habe Probleme, dieses Funktionalwörterbuch für axiale Schattierung zu verwenden. Ich möchte die Schattierung von Farbe Weiß zu Farbe Schwarz über die Diagonale eines Quadrats variieren. Können Sie bitte das Funktionswörterbuch in der Originalfrage bearbeiten, um zu veranschaulichen, wie das möglich ist? – user517837

2

OK, basierend auf Ihren Kommentar, hier ist, wie ich dies getan haben:

<< % Make gradient pattern dictionary 
    /PatternType 2 
    /Shading 
    << 
    /ShadingType 2 
    /ColorSpace /DeviceRGB 
    /Coords [ 0 0 72 72 ] % Set coord array (gradient starting point to ending point) 
    /Function 
    << 
     /FunctionType 2 
     /Domain [ 0 1 ] 
     /C0 [ 1 1 1 ] % Set color 1 (white in RGB space) 
     /C1 [ 0 0 0 ] % Set color 2 (black in RGB space) 
     /N 1 
    >> 
    >> 
>> 
matrix makepattern 

Diese für ein Beispiel Platz bei 0,0 0,72 72,72 72,0 ist.