affineBlend - アフィン変換重ね合わせ

# Layer.affineBlend

機能/意味
  アフィン変換重ね合わせ
タイプ
  Layerクラスのメソッド
構文
  affineBlend(src, sleft, stop, swidth, sheight, affine, A, B, C, D, E, F, opa=255, type=stNearest)
引数

  src | 重ね合わせ元のレイヤオブジェクトを指定します。
  sleft | 重ね合わせる矩形の左端位置を ( 重ね合わせ元レイヤの画像位置における ) ピクセル単位で指定します。
  stop | 重ね合わせる矩形の上端位置を ( 重ね合わせ元レイヤの画像位置における ) ピクセル単位で指定します。
  swidth | 重ね合わせる矩形の横幅を ( 重ね合わせ元レイヤの画像位置における ) ピクセル単位で指定します。
  sheight | 重ね合わせる矩形の縦幅を ( 重ね合わせ元レイヤの画像位置における ) ピクセル単位で指定します。

  affine

  続く６つの引数 (A 〜 F パラメータ)をどのように扱うかを指定します。
  真を指定すると、６つのパラメータはそれぞれ以下のように解釈されます。
  A : 2Dアフィン変換行列の a
  B : 2Dアフィン変換行列の b
  C : 2Dアフィン変換行列の c
  D : 2Dアフィン変換行列の d
  E : 2Dアフィン変換行列の tx
  F : 2Dアフィン変換行列の ty
  アフィン変換により、重ね合わせ元の画像位置 (x, y) ( ただし、重ね合わせ元矩形の左上隅を (0, 0) とする ) は以下の式により、重ね合わせ先の画像位置 (x', y')に変換されます。
  x' = a*x + c*y + tx
  y' = b*x + d*y + ty
  偽を指定すると、６つのパラメータはそれぞれ以下のように解釈されます。
  A : コピー元矩形の左上隅の点の、コピー先での画像位置における X 座標位置(x0)
  B : コピー元矩形の左上隅の点の、コピー先での画像位置における Y 座標位置(y0)
  C : コピー元矩形の右上隅の点の、コピー先での画像位置における X 座標位置(x1)
  D : コピー元矩形の右上隅の点の、コピー先での画像位置における Y 座標位置(y1)
  E : コピー元矩形の左下隅の点の、コピー先での画像位置における X 座標位置(x2)
  F : コピー元矩形の左下隅の点の、コピー先での画像位置における Y 座標位置(y2)
  偽を指定した場合、重ね合わせ元の右下隅に対応する、重ね合わせ先位置(x3, y3)は自動的に以下の式によって計算されます。
  x3 = x1 - x0 + x2
  y3 = y1 - y0 + y2

  A | A パラメータです。affine 引数によって解釈が変わります。
  B | B パラメータです。affine 引数によって解釈が変わります。
  C | C パラメータです。affine 引数によって解釈が変わります。
  D | D パラメータです。affine 引数によって解釈が変わります。
  E | E パラメータです。affine 引数によって解釈が変わります。
  F | F パラメータです。affine 引数によって解釈が変わります。
  opa | 重ね合わせの不透明度 ( 0 〜 255 ) を指定します。

  type

  アフィン変換のタイプを指定します。
  stNearest : 最近傍点法が用いられます
  stFastLinear : 低精度の線形補間が用いられます(一部実装)
  stLinear : 線形補間が用いられます(未実装)
  stCubic : ３次元補間が用いられます(未実装)
  速度は stNearest > stFastLinear > stLinear > stCubic の順に高速ですが、画質は速度が 速ければ速いモードほど低画質になります。
  stFastLinear や stLinear, stCubic に対しては、stRefNoClip をビット論理和で追加指定 することができ、この場合は、コピーするビットマップの領域外を参照して色を合成することを 許可します。これを指定しない場合は、転送元ビットマップの周囲に余裕があったとしても、 転送元ビットマップの範囲外を参照することはありません(範囲外の色はもっとも近い位置にある 範囲内のピクセルの色と見なされます)。

戻り値
  なし (void)
説明
  指定された重ね合わせ元レイヤの矩形を、重ね合わせ先 ( メソッドを実行するレイヤ ) に アフィン変換を行いながら重ね合わせます。
  アフィン変換については Layer.affineCopy も参照してください。
  重ね合わせ元のレイヤの Layer.face プロパティは無視されますが、Layer.affinePile と異な り、重ね合わせ元のレイヤの不透明度は無視されます ( 常に完全に不透明であると見なされます )。
  重ね合わされる画像は、重ね合わせ先の ( メソッドを実行する ) レイ ヤの Layer.face プロパティの値によって変わります。
  dfAlpha (またはdfBoth) : 重ね合わせ先の不透明度を考慮した重ね合わせが行われます
  dfOpaque (またはdfMain) : 重ね合わせ先の不透明度を無視した重ね合わせが行われます(重ね合わせ先は全面完全不透明として扱われます)。この場合は、Layer.holdAlphaプロパティが偽のとき、type 引数に stFastLinear を指定することにより、線形補間が可能です。
  それ以外 : できません ( 例外が発生します )
  このメソッドは旧式になりました。代わりに Layer.operateAffine を使用してください。演算のモードに omOpaque を指定すると同じ効果になります。