[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[pygame] pygame.image.tostring() not working?



Hi Everyone,

I have a weird issue which I'm hoping someone might be able to help with.

I'm using pygame.image.tostring() on an 8-bit surface. (So it's pygame.image.tostring(surface, 'P'). It works on one machine and does not work on another, and I'm hoping someone can help me figure out why?

The machine is works on is 32-bit Windows 7, Python 2.7.9 with Pygame 1.9.2pre.

The machine where it *doesn't* work is a BeagleBone Black (ARM processor) with Linux, Python 2.7.3, Pygame 1.9.1release.

On the BeagleBone, the tostring() method doesn't fail, but it just returns an empty string. It's the exact same code, and everything else works.

If I convert the surface to a PixelArray and print it, I see the data as expected. If I use surface.get_at() and pick some random pixels, I see the data as expected. It's just that tostring() in my program doesn't actually work, but just on this one machine.

What's really weird is that if I just type a little test program via the Python interactive shell on the BeagleBone, the tostring() method *does* work as expected. It's just in my program. But again I just don't get it since the surface looks good via a PixelArray or get_at()?? Is there anything that I could be doing to make tostring() not work?

I realize this is Pygame 1.9.2pre versus 1.9.1release, though I've used 1.9.2pre and 1.9.2a0 on other machines and my program works fine on those, and I didn't see anything in the documentation about tostring() being changed in 1.9.2.

So.. any ideas? I guess I should try to build 1.9.2 for Linux? Has anyone had any weird issues with Pygame on ARM? I'm using the dummy SDL driver on this machine, but I confirmed that using that driver works on other machines, and I can't imagine that's involved in tostring()?

So, again, I'm stumped?

Thanks a million!
Brian

--
Brian Madden
Mission Pinball (blog | twitterMPF software framework | sample games)