<p>You could load the image into numpy, rotate the array, then read it back out to pil.</p>
<div class="gmail_quote">On Aug 4, 2011 4:39 PM, &quot;Edward Cannon&quot; &lt;<a href="mailto:cannon.el@gmail.com">cannon.el@gmail.com</a>&gt; wrote:<br type="attribution">&gt; A possible workaround is to convert the images to some more standard format ie im.convert(&quot;rgb&quot;). If you need to rotate by multiples of 90 the transform method works and is faster. <br>
&gt; <br>&gt; <br>&gt; <br>&gt; On Aug 4, 2011, at 1:24 PM, Guilherme Polo &lt;<a href="mailto:ggpolo@gmail.com">ggpolo@gmail.com</a>&gt; wrote:<br>&gt; <br>&gt;&gt; 2011/7/28 Jeremy Craven &lt;<a href="mailto:c.j.craven@sheffield.ac.uk">c.j.craven@sheffield.ac.uk</a>&gt;:<br>
&gt;&gt;&gt; I have a program that has been working fine rotating images by arbitrary<br>&gt;&gt;&gt; angles.<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; I just found that if I specify 90 degrees exactly then the image goes crazy:<br>
&gt;&gt;&gt; only appears in left hand half of image and every other line is black and<br>&gt;&gt;&gt; image is stretched vertically.<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; Any ideas if this is a bug or I am perhaps doing something in a<br>
&gt;&gt;&gt; non-recommended way.<br>&gt;&gt;&gt; <br>&gt;&gt; <br>&gt;&gt; It is a bug, it doesn&#39;t rotate the image by 90 degrees.<br>&gt;&gt; <br>&gt;&gt; Looking through PIL code, I would think the problem is that you have<br>
&gt;&gt; these &quot;special images&quot; with mode as &quot;I;16B&quot;, which PIL marks as<br>&gt;&gt; IMAGING_TYPE_SPECIAL. The code paths used for such special things<br>&gt;&gt; probably are under tested.<br>&gt;&gt; <br>
&gt;&gt;&gt; I attach a cut down version of the code which shows the problem. It reads<br>&gt;&gt;&gt; &quot;test_in.tif&quot;. It rotates it 90.0 and writes &quot;test.tif&quot;. It rotates it 89.99<br>&gt;&gt;&gt; and writes &quot;test1.tif&quot;. The second output file looks fine. The first is<br>
&gt;&gt;&gt; wonky.<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; I&#39;m using version 1.1.7<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; Thanks for listening<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; Jeremy<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; --<br>&gt;&gt;&gt; *********************************************************************************<br>
&gt;&gt;&gt; <br>&gt;&gt;&gt; Dr C. Jeremy Craven<br>&gt;&gt;&gt; Department of Molecular Biology and Biotechnology<br>&gt;&gt;&gt; University of Sheffield,<br>&gt;&gt;&gt; Firth Court, Western Bank<br>&gt;&gt;&gt; S10 2TN Sheffield UK<br>
&gt;&gt; <br>&gt;&gt; <br>&gt;&gt; <br>&gt;&gt; -- <br>&gt;&gt; -- Guilherme H. Polo Goncalves<br>&gt;&gt; _______________________________________________<br>&gt;&gt; Image-SIG maillist  -  <a href="mailto:Image-SIG@python.org">Image-SIG@python.org</a><br>
&gt;&gt; <a href="http://mail.python.org/mailman/listinfo/image-sig">http://mail.python.org/mailman/listinfo/image-sig</a><br>&gt; _______________________________________________<br>&gt; Image-SIG maillist  -  <a href="mailto:Image-SIG@python.org">Image-SIG@python.org</a><br>
&gt; <a href="http://mail.python.org/mailman/listinfo/image-sig">http://mail.python.org/mailman/listinfo/image-sig</a><br></div>