From 32079b1dcc8dca39a016f9332424ee41c812c56a Mon Sep 17 00:00:00 2001 From: homm Date: Fri, 7 Nov 2014 03:37:12 +0300 Subject: [PATCH] make transpose part of public api --- PIL/Image.py | 7 ++++--- _imaging.c | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/PIL/Image.py b/PIL/Image.py index 99ab6327b..de2876f37 100644 --- a/PIL/Image.py +++ b/PIL/Image.py @@ -150,6 +150,7 @@ FLIP_TOP_BOTTOM = 1 ROTATE_90 = 2 ROTATE_180 = 3 ROTATE_270 = 4 +TRANSPOSE = 5 # transforms AFFINE = 0 @@ -1921,13 +1922,13 @@ class Image: :param method: One of :py:attr:`PIL.Image.FLIP_LEFT_RIGHT`, :py:attr:`PIL.Image.FLIP_TOP_BOTTOM`, :py:attr:`PIL.Image.ROTATE_90`, - :py:attr:`PIL.Image.ROTATE_180`, or :py:attr:`PIL.Image.ROTATE_270`. + :py:attr:`PIL.Image.ROTATE_180`, :py:attr:`PIL.Image.ROTATE_270` or + :py:attr:`PIL.Image.TRANSPOSE`. :returns: Returns a flipped or rotated copy of this image. """ self.load() - im = self.im.transpose(method) - return self._new(im) + return self._new(self.im.transpose(method)) def effect_spread(self, distance): """ diff --git a/_imaging.c b/_imaging.c index 1759d4c8d..4eb878cf7 100644 --- a/_imaging.c +++ b/_imaging.c @@ -1750,6 +1750,7 @@ _transpose(ImagingObject* self, PyObject* args) break; case 2: /* rotate 90 */ case 4: /* rotate 270 */ + case 5: /* transpose */ imOut = ImagingNew(imIn->mode, imIn->ysize, imIn->xsize); break; default: @@ -1774,6 +1775,9 @@ _transpose(ImagingObject* self, PyObject* args) case 4: (void) ImagingRotate270(imOut, imIn); break; + case 5: + (void) ImagingTranspose(imOut, imIn); + break; } return PyImagingNew(imOut);