Image rotation issue

high5storage at gmail.com high5storage at gmail.com
Tue Mar 31 00:04:10 EDT 2015


On Monday, 30 March 2015 16:48:08 UTC-7, Chris Angelico  wrote:
> On Tue, Mar 31, 2015 at 8:22 AM,  <duderino> wrote:
> > rotimg = img.rotate(270) # rotation is counterclockwise
> 
> Unless the 90 and 270 cases are documented as being handled specially,
> I'd look for a dedicated function for doing those changes. A quick
> perusal of the docs showed up this:
> 
> http://pillow.readthedocs.org/en/latest/reference/Image.html#PIL.Image.Image.transpose
> 
> Is that any better, or is that doing the exact same thing as rotate()?
> 
> By the way:
> 
> > The black & white only device (1024 (X) x 1280 (Y)) expects the compressed data based on portrait mode, i.e. 8 pixels combined into one bytes for 1280 rows of 128 bytes.
> >
> 
> This sounds to me like the fax standard. I wonder, can you make use of
> a TIFF library to do some of your work for you?
> 
> ChrisA

According to the docs rotate & transform can both be used and should do the same in my case - but they are not.

rotimg = img.transpose(Image.ROTATE_270) 
print img.getbbox()
print rotimg.getbbox()

gives

(0, 0, 1280, 1024)
(0, 0, 1024, 1280)

while

rotimg = img.rotate(270, 0, 1)
print img.getbbox()
print rotimg.getbbox()

gives

(0, 0, 1280, 1024)
(1, 1, 1025, 1281)

Neither one produces good output when the compression is applied. 

Don't think it's related to fax standards - it's proprietary (E-Ink Tile)



More information about the Python-list mailing list