我当时想,我可以先将图像平移中心,然后再平移,然后再剪切。
def translate(im: Image.Image, tx: float=0, ty: float=0):
return im.transform(im.size, Image.AFFINE, (1, 0, tx, 0, 1, ty))
def shear(im: Image.Image, cx=0, cy=0):
center = [xy/2 for xy in im.size]
im = translate(im, center[0], center[1])
im = im.transform(im.size, Image.AFFINE, (1, cx, 0, cy, 1, 0))
im = translate(im, -center[0], -center[1])
return im
不幸的是,翻译失去了信息,我得到了以下信息