ImagePath モジュール

ImagePath モジュールは、2次元ベクターデータを格納および操作するために使用されます。パスオブジェクトは、ImageDrawモジュールのメソッドに渡すことができます。

class PIL.ImagePath.Path

パスオブジェクト。座標リストは、[(x, y), …] の2タプルまたは [x, y, …] の数値を含む任意のシーケンスオブジェクトにできます。

別のパスオブジェクトからパスオブジェクトを作成することもできます。

1.1.6以降では、PythonのバッファAPIを実装する任意のオブジェクトを渡すこともできます。バッファは読み取りアクセスを提供し、マシンバイトオーダーでC浮動小数点数を含む必要があります。

パスオブジェクトは、Pythonシーケンスインターフェースのほとんどの部分を実装し、(x, y)ペアのリストのように動作します。len()、項目アクセス、およびスライスを通常どおり使用できます。ただし、これはスライス代入、項目およびスライスの削除をサポートしていません。

パラメータ:

xy – シーケンス。シーケンスには、[(x, y), …]の2タプル、または[x, y, …]のフラットな数値リストを含めることができます。

PIL.ImagePath.Path.compact(distance=2)

互いに近い点を除去することにより、パスを圧縮します。このメソッドはパスをインプレースで変更し、パスに残っている点の数を返します。

distanceは、マンハッタン距離として測定され、デフォルトは2ピクセルです。

PIL.ImagePath.Path.getbbox()

パスのバウンディングボックスを取得します。

戻り値:

(x0, y0, x1, y1)

PIL.ImagePath.Path.map(function)

関数を通してパスをマップします。

PIL.ImagePath.Path.tolist(flat=False)

パスをPythonリスト[(x, y), …]に変換します。

パラメータ:

flat – デフォルトでは、この関数は2タプルのリスト [(x, y), …] を返します。この引数が Trueの場合、代わりにフラットなリスト [x, y, …] を返します。

戻り値:

座標のリスト。 flatを参照してください。

PIL.ImagePath.Path.transform(matrix)

アフィン変換を使用して、パスをインプレースで変換します。行列は6タプル (a, b, c, d, e, f) であり、各点は次のようにマッピングされます。

xOut = xIn * a + yIn * b + c
yOut = xIn * d + yIn * e + f