PDF学习十一:路径构造与显示

Table of Contents

说明:

定义:

操作符:

路径构造操作符:

路径显示操作符:

Stroking 

Filling

非 0 环绕数规则

奇偶规则

剪切路径操作符

作业:


本文转自:https://blog.csdn.net/u012632138/article/details/82022943

说明:

了解什么是路径构造,了解什么是路径显示,掌握相应操作符。

PDF reference1.7.pdf 4.4

定义:

  1. 路径:用于定义画线,填充的区域,指定剪切其它图像的边界。
  2. 连接:一对线段被称为是连接的,仅当他们是连续的,第二条线段开始在第一条线段结束的地方。
  3. 闭合:h操作符明确的将子路径的最后一点与开始点连接。
  4. 当前剪切路径:图形状态包括一个当前剪切路径定义了当前页面的剪切边界。

操作符:

  1. 路径构造操作符:定义了路径的几何布局。
  2. 路径显示操作符:结束一个路径对象,并将路径对象绘制到当前页上。
  3. 剪切路径操作符:定义在路径绘制操作符之前,路径构造操作符之后,用于剪切边界。

路径构造操作符:

  1. m或re开始新的路径。
  2. 当前路径:即当前正在构造的路径:
    1. 当前路径不被保存和恢复,即不能使用qQ。

    2. PDF路径是内部对象,不会在页面上做任何标记。

    3.  如果当前路径是空,那么当前点是未定义的。

操作数操作符描述 
x ym开始一条新的子路径并移动当前点到 (x,y) 点。 
x yl追加一条直线从当前点到点 (x,y) 

x1 y1
x2 y2
x3 y3

c

追加一条 3 次方 Bezier 曲线到当前路径。
控点: (x1, y1) 和 (x2, y2)
端点:当前点 和 (x3, y3)

x2 y2
x3 y3

v

追加一条 3 次方 Bezier 曲线到当前路径
控点:当前点 和 (x2, y2)

 

x1 y1
x3 y3

y追加一条 3 次方 Bezier 曲线到当前路径
控点: (x1, y1) 和 (x3, y3)
-h通过画一条直线段从当前点到起始点 , 闭合当前子路径 。 
x y
width
height
re

追加一个矩形到当前路径
x y width height re
等价于
x y m
(x + width) y l
(x + width) (y + height) l
x (y + height) l
h

 

路径显示操作符:

结束一个路径对象 ,并用指定的风格将路径显示 。最主要显示操作符有 S 和 f。

操作数

操作符

描述

 

-S绘制路径。

 

-s闭合并绘制路径。等价于( h S )

 

-f

填充路径,使用非 0 环绕数规则来决定填充区域。

 
-F等价于 f ,一般使用 f 。 
-f*填充路径,使用奇偶规则。 
-B填充并画路径 , 使用非 0 填充规则 , 相当于 (f S) 
-B*填充并画路径 , 使用奇偶规则,相当于 (f* S) 
-b

闭合,填充,并画路径。使用非 0 规则来决定填充区域。相当于( h B )

 
-b*

闭合,填充,并画路径。使用奇偶规则。相当于 (h B*)

 
-n

闭合路径,但既不填充,也不画路径。该参数不进路径绘制操作。主要用来改变当前剪切路径大小。

 

Stroking 

操作符 : S
相关参数 :

  •  Line width
  •  Color or pattern
  •  Line Dash Pattern
  •  Line cap
  •  Line join & Miter limit
  •  Stroke Adjustment

Filling

操作符 : f

相关参数:

  •  任何子路径填充前隐式闭合
  •  非 0 环绕数规则
  •  奇偶规则

非 0 环绕数规则

  1. 初始化环绕数到 0 。
  2.  从 P 点向外任意引一条射线。
  3.  每遇到一条与该线的交叉线,判断交叉线是否和这条直线方向相同,如果是,则环绕数加 1 ,如果不是,则环绕数减 1 。如果与该直线正交,则顺时针加 1 ,逆时针减 1
  4.  假如环绕数不等于 0 ,则点 P 在多边形内。
  5. 但是这个方法有局限性 , 不适合相交 , 或者选一条正切的射线 . 因为射线的方向是任意的 , 这个规则简单的选用射线并不碰到这些情况 .

 

奇偶规则

  1. 从图形中的任意一点 P 向外任意引一条射线。
  2. 简单计算与该射线相交线的数量。
  3. 如果这个数是奇数,则认为点在图形内。

 

剪切路径操作符

图形状态包含了一个当前剪切路径,该路径限制了显示操作符可以在页面内作图的范围。

操作数

操作符

描述

-W

修改当前剪切路径用当前路径与当前剪切路径相交的区域 ,利用非 0 规则取得区域。

-W*修改当前剪切路径用当前路径与当前剪切路径相交的区域 ,利用奇偶规则取得区域。
  • n 操作符虽然不显示任何到页面上 ,但可用于建立剪切区域 。
  • q Q 推荐使用 , 因为剪切区域是相交的 , 不可扩大 。 如果不保存当前属性 , 那么整个页面将受这个 clipping 的限制 。
  • 0 0 10 10 re W n 就生成一个剪切路径 , 只显示这个矩形框里面的内容。

作业:

  1. 使用操作符设置:线宽为5,line join为Miter join,Line Cap Style为Round cap,Miter limit为2,line dash pattern为3单位实线,1单位空白,1单位偏移。
    在适当的位置画出夹角小于60°的2段相连接线段。
  2. 使用图形状态参数字典设置:线宽为5,line join为Miter join,Line Cap Style为Round cap,Miter limit为2,line dash pattern为5单位实线,2单位空白,2单位偏移,stroke 透明度为50%,nonstroke透明度为50%
    在适当的位置画出长为200,宽为200,nonstroke color为红色的矩形。
  3. 利用clipping写出以下效果的pdf。字体大小100。

 4. 在适当的位置,利用c,v,y操作符画出3段bezier曲线。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值