2

次の追記コードがあります。

/outputtext {
   /data exch def
   /rot exch def
   /xfont exch def
   /Times-Roman findfont
   xfont scalefont
   setfont
   /y1 exch def
   /x1 exch def
   x1 y1 moveto
   rot rotate
   data show
} def


% x y fontsize rotation (text) outputtext
20 300 12 0 (text1) outputtext
20 400 12 90 (text2) outputtext
20 500 12 90 (text3) outputtext
20 600 12 0 (text4) outputtext
showpage

この関数は、ax、y 座標、および表示するテキストに基づいてテキストを出力するだけです。回転用の変数もあります。何らかの理由で、0 度を超える回転でテキストを出力すると、その後に続く他のすべてのテキストが機能しなくなります。なぜそうなのかわかりません。上記の例では、「text1」と「text2」は表示されますが、3 と 4 は表示されません。

4

4 に答える 4

3

Postscriptのrotateコマンドは、個々の描画操作ではなく、座標空間全体を回転させます。90 rotateそれ以降のすべての操作をシートの上部から外します。

于 2010-03-17T02:10:50.640 に答える
2

それを見つけて、回転の負の値を実行する必要がありました(したがって、90度回転した場合は、-90度回転する必要があります)

以下が必要です:

 rot neg rotate

したがって、関数は次のようになります。

/outputtext {
   /data exch def
   /rot exch def
   /xfont exch def
   /y1 exch def
   /x1 exch def
   /Times-Roman findfont
   xfont scalefont
   setfont
   x1 y1 moveto
   rot rotate
   data show

   rot neg rotate
} def
于 2010-03-17T02:04:54.357 に答える