Affine Projection is very much similar to scale_rotate_translate distortion type. The only difference is that it exactly needs six real numbers for the distortion arguments.
Scalex, Rotatex, Rotatey, Scaley, Translatex, Translatey
Source Image: 
Python3
from collections import namedtuple# Import Color from wand.color modulefrom wand.color import Color# Import Image from wand.image modulefrom wand.image import ImagePoint = namedtuple('Point', ['x', 'y'])with Image(filename ='gog.png') as img: img.background_color = Color('skyblue') img.virtual_pixel = 'background' rotate = Point(0.1, 0) scale = Point(0.7, 0.6) translate = Point(5, 5) args = ( scale.x, rotate.x, rotate.y, scale.y, translate.x, translate.y ) img.distort('affine_projection', args) img.save(filename ="affinegfg.png") |
Output : 
Python3
# Import Color from wand.color modulefrom wand.color import Color# Import Image from wand.image modulefrom wand.image import Imagewith Image(filename ='gog.png') as img: img.background_color = Color('skyblue') img.virtual_pixel = 'background' rotate = Point(0.1, 0.3) scale = Point(0.9, 0.2) translate = Point(7, 5) args = ( scale.x, rotate.x, rotate.y, scale.y, translate.x, translate.y ) img.distort('affine_projection', args) img.save(filename ="affinegfg2.png") |
Output :
