Layer.affinePile

功能/含义
仿射变换像素Alpha混合叠加
类型
Layer类的成员方法
语法
affinePile(src, sleft, stop, swidth, sheight, affine, A, B, C, D, E, F, opa=255, type=stNearest)
参数
src  指定要叠加的层对象。
sleft  指定要叠加的矩形的左端位置(在原始层的图像位置),以像素为单位。
stop  指定要叠加的矩形的上端位置(在原始层的图像位置),以像素为单位
swidth  指定要叠加的矩形的宽度(在原始层的图像位置),以像素为单位。
sheight  指定要叠加的矩形的高度(在原始层的图像位置),以像素为单位。
affine  指定如何处理接下来的6个参数(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
 可以使用每像素不透明度(像素Alpha)进行叠加。
 在当前版本中, mode 能是stNearest。
 叠加的图像取决于所叠加的图层(执行该方法的图层)的Layer.face 属性的值。
dfAlpha (或是dfBoth) : 叠加时考虑到要叠加的目标层的不透明度
dfOpaque (或是dfMain) : 叠加时忽略目标层的不透明度(将目标层视为完全不透明)
其他 : 无法调用(出现异常)

 此方法已过时。改用 Layer.operateAffine 。指定omAlpha或omAddAlpha作为运算模式具有相同的效果(指定omAlpha还是omAddAlpha取决于src的Alpha类型。如果指定omAuto,则根据src层类型自动确定。