⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lines.ps

📁 GhostScript的源代码
💻 PS
字号:
%!
%   Copyright (C) 1989, 1990, 1992, 1994, 1996 Aladdin Enterprises.  All rights reserved.
% 
% This file is part of Aladdin Ghostscript.
% 
% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author
% or distributor accepts any responsibility for the consequences of using it,
% or for whether it serves any particular purpose or works at all, unless he
% or she says so in writing.  Refer to the Aladdin Ghostscript Free Public
% License (the "License") for full details.
% 
% Every copy of Aladdin Ghostscript must include a copy of the License,
% normally in a plain ASCII text file named PUBLIC.  The License grants you
% the right to copy, modify and redistribute Aladdin Ghostscript, but only
% under certain conditions described in the License.  Among other things, the
% License requires that the copyright notice and this notice be preserved on
% all copies.

% $Id: lines.ps $
% Test line rendering (stroke).

% Exercise the miter limit.  The left column of lines should bevel at
% 90 degrees, the right column at 60 degrees.

gsave
1.8 setlinewidth
0 setgray
15 15 scale
-5 5 translate
[1.415 2.0]
 { setmiterlimit 12 0 translate 0 0 moveto
   10 30 360
    { gsave 5 0 rlineto rotate 2.5 0 rlineto
      gsave 0 setlinewidth 1 0 0 setrgbcolor stroke grestore
      strokepath 0 setlinewidth stroke
      grestore
      0 4 rmoveto
    } for
 } forall

showpage
grestore

% Exercise all the combinations of cap and join styles
% for one-line, two-line, and closed paths.

gsave

/drawlines {
gsave
2.0 setmiterlimit
2.0 setlinewidth
6 6 scale
5 20 translate
{0 1 2}				% line cap
 { setlinecap gsave
   {0 1 2}			% line join
    { setlinejoin gsave
      { {currentpoint lineto}
	{3 7 lineto}
	{3 7 lineto 5 1 lineto}
	{3 7 lineto 6 3 lineto closepath}
      }
       { gsave 0 0 moveto exec
         gsave stroke grestore
	 0.5 setlinewidth 1 0 0 setrgbcolor stroke
	 grestore 8 0 translate
       } forall
      grestore 35 0 translate
    } forall
   grestore 0 20 translate
 } forall
grestore
} def
/xflip
 { 8.5 72 mul 0 translate -1 1 scale
 } def
/rot90
 { 90 rotate 0 -9.75 72 mul translate
 } def
/rot180
 { rot90 rot90
 } def
/rot270
 { rot180 rot90
 } def

drawlines showpage
gsave xflip drawlines grestore showpage
gsave rot90 drawlines grestore showpage
gsave rot90 xflip drawlines grestore showpage
gsave drawlines rot180 showpage
gsave rot180 xflip drawlines grestore showpage
gsave rot270 drawlines grestore showpage
gsave rot270 xflip drawlines grestore showpage
grestore

% Here are some boundary conditions, contributed by Mark Rawling.

gsave
1 setlinecap
2.6 setmiterlimit
3.0 setlinewidth

5 5 scale
10 20 translate

% [ 0.5 sqrt dup dup dup neg exch 0 0 ] concat	% 45 rotate

{0 1 2}                        % line join
{
    setlinejoin gsave
    0 0 moveto 0 10 lineto 10 0 lineto gsave stroke grestore
    15 0 translate
    0 0 moveto 0 10 lineto 10 20 lineto gsave stroke grestore
    15 0 translate
    10 0 moveto 10 10 lineto 0 20 lineto gsave stroke grestore
    15 0 translate
    10 0 moveto 10 10 lineto 0 0 lineto gsave stroke grestore
    grestore
    gsave
    0 20 translate
    0 20 moveto 0 10 lineto 10 20 lineto gsave stroke grestore
    15 0 translate
    0 20 moveto 0 10 lineto 10 0 lineto gsave stroke grestore
    15 0 translate
    10 20 moveto 10 10 lineto 0 0 lineto gsave stroke grestore
    15 0 translate
    10 20 moveto 10 10 lineto 0 20 lineto gsave stroke grestore
    grestore 60 0 translate
} forall

showpage
grestore

% Test narrow lines at a variety of angles.

gsave

/rad 120 def
/ray { gsave rotate 0 0 moveto rad 0 rlineto stroke grestore } def
/star
 { newpath gsave
   gsave 0.5 setgray 0 0 rad 0 360 arc stroke grestore
   0 90 359
    { rotate 
      0 3 14 { ray } for
      15 15 89 { ray } for
    } for
   grestore
 } def

0 setgray
150 150 translate
[ [ 0 0.5 1 ] [ 1.5 2 2.5 ] [ 3 3.5 4 ] ]
 { gsave
    { setlinewidth star
      250 0 translate
    } forall
   grestore 0 250 translate
 } forall

grestore showpage

% End

quit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -