[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] pygame.image.save()
ah, oops.
Now that test_magic is fixed, the saving test fails in the pygame
1.8.0release version(png saved as jpg only, other formats work)... but
passes in svn.
cheers,
On Tue, Apr 15, 2008 at 1:09 PM, Lenard Lindstrom <len-l@xxxxxxxxx> wrote:
> This works better. The other keeps returning 1:
>
>
> def test_magic(f, magic_hex):
> """ tests a given file to see if the magic hex matches.
> """
> data = f.read(len(magic_hex))
>
> if len(data) != len(magic_hex):
> return 0
>
> for i in range(len(magic_hex)):
> if magic_hex[i] != ord(data[i]):
> return 0
>
> return 1
>
>
> And Pygame in SVN is now creating PNG images for me.
>
> Lenard
>
>
>
>
> René Dudfield wrote:
>
> > Good point about pygame.image.load not caring about file extensions,
> > and only file contents...
> >
> > I just updated the unittest to check the magic hex numbers of the file
> > to test if the file is actually getting saved how we want it to be.
> >
> > Below is the magic testing function I used - in case you want to use it.
> >
> > cheers,
> >
> >
> >
> > def test_magic(f, magic_hex):
> > """ tests a given file to see if the magic hex matches.
> > """
> > data = f.read(len(magic_hex))
> >
> > if len(data) != len(magic_hex):
> > return 0
> >
> > for i in range(len(magic_hex)):
> > if data[i] != data[i]:
> > return 0
> >
> > return 1
> >
> >
> > magic_hex = {}
> > magic_hex['jpg'] = [0xff, 0xd8, 0xff, 0xe0]
> > magic_hex['png'] = [0x89 ,0x50 ,0x4e ,0x47]
> > magic_hex['tga'] = [0x0, 0x0, 0xa]
> > magic_hex['bmp'] = [0x42, 0x4d]
> >
> > if test_magic(open(temp_filename, "rb"), magic_hex["png"]):
> > print "this is a png file!"
> >
> >
> >
> >
> > On Tue, Apr 15, 2008 at 10:56 AM, Lenard Lindstrom <len-l@xxxxxxxxx>
> wrote:
> >
> >
> > > Ian Mallett wrote:
> > >
> > >
> > >
> > > > Well, it worked for me--saving it to a valid .png file.
> > > >
> > > >
> > > >
> > > Are you sure? I just tried it with a .png picture. It was certainly not
> > > saved as a PNG image. Changing the file extension to .jpg let me view it
> > > with ImageNavigator. The reason this bug may have slipped through is
> that
> > > Pygame apparently ignores the file extension when determining file type.
> It
> > > will quite happily load a JPEG named "something.png", or even
> "something".
> > >
> > >
> > >
> >
>
>