title: Python PIL Image.tostring()
body: <p>I'm new to Python and PIL. I am trying to follow code samples on how to load an image into to Python through PIL and then draw its pixels using openGL. Here are some line of the code:</p>
  
  <pre><code>from Image import *
  im = open("gloves200.bmp") 
  pBits = im.convert('RGBA').tostring()
  </code></pre>
  
  <p>.....</p>
  
  <pre><code>glDrawPixels(200, 200, GL_RGBA, GL_UNSIGNED_BYTE, pBits)
  </code></pre>
  
  <p>This will draw a 200 x 200 patch of pixels on the canvas. However, it is not the intended image-- it looks like it is drawing pixels from random memory. The random memory hypothesis is supported by the fact that I get the same pattern even when I attempt to draw entirely different images.Can someone help me? I'm using Python 2.7 and the 2.7 version of pyopenGL and PIL on Windows XP.</p>
  
  <p><img src="https://i.stack.imgur.com/lcSsF.gif" alt="screen shot"></p>