PyPDF2 Transformation類

2023-03-30 09:31 更新

?classPyPDF2.Transformation(ctm: Tuple[float, float, float, float, float, float] = (1, 0, 0, 1, 0, 0))?

基類: object

表示二維變換。

兩個坐標(biāo)系之間的變換用一個 3×3 的變換矩陣表示,其形式如下:

a b 0
c d 0
e f 1

因為一個變換矩陣只有六個元素可以改變,所以它通常在 PDF 中被指定為六元素數(shù)組 [abcdef]。

坐標(biāo)變換表示為矩陣乘法:

                            a b 0
[ x′ y′ 1 ] = [ x y 1 ] ×   c d 0
                            e f 1

例子

>>> from PyPDF2 import Transformation
>>> op = Transformation().scale(sx=2, sy=3).translate(tx=10, ty=20)
>>> page.add_transformation(op)

apply_on(pt: Union[Tuple[Decimal, Decimal], Tuple[float, float], List[float]])→ Union[Tuple[float, float], List[float]]

在給定點上應(yīng)用變換矩陣。

參數(shù)

pt – 表示形式為 (x, y) 的點的元組或列表

返回

以 (x', y') 形式表示轉(zhuǎn)換點的元組或列表

staticcompress(matrix: Tuple[Tuple[float, float, float], Tuple[float, float, float], Tuple[float, float, float]])→ Tuple[float, float, float, float, float, float]

將變換矩陣壓縮為 (a, b, c, d, e, f) 的元組。

參數(shù)

matrix -- 轉(zhuǎn)換矩陣作為元組的元組。

返回

表示轉(zhuǎn)換矩陣的元組 (a, b, c, d, e, f)

屬性 matrix: Tuple[Tuple[float, float, float], Tuple[float, float, float], Tuple[float, float, float]]

以元組的元組形式返回轉(zhuǎn)換矩陣:((a, b, 0), (c, d, 0), (e, f, 1))

rotate(rotation: float)→ Transformation

旋轉(zhuǎn)頁面的內(nèi)容。

參數(shù)

rotation – 以度為單位的旋轉(zhuǎn)角度。

返回

具有旋轉(zhuǎn)矩陣的新Transformation實例。

scale(sx: Optional[float] = None, sy: Optional[float] = None)→ Transformation

將頁面內(nèi)容縮放到坐標(biāo)系的原點。

通常,這是頁面的左下角。這可以通過翻譯內(nèi)容/頁面框來改變。

參數(shù)
  • sx – 沿 x 軸的比例因子。

  • sy – 沿 y 軸的比例因子。

返回

具有縮放矩陣的新 Transformation 實例。

translate(tx: float = 0, ty: float = 0)→ Transformation

翻譯頁面內(nèi)容。

參數(shù)
  • tx – 沿 x 軸的平移。

  • ty – 沿 y 軸的平移。

返回

一個新的Transformation 實例

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號