[Image-SIG] 答复: gif convert png wrong

宋立新(凡卓通讯) songlixin at vanzotec.com
Fri Dec 30 02:38:28 CET 2011


Dear Charlie:
	For my case, frame 57 is wrong and also some after 57.
	I think it's a known issue bcz so many tools(Include ACDSee) got same problem. Maybe IP reasons.
	I will try on MacOS.
	Also thanks for your advice to be more Pythinic. :P

	Br,
	Lixin Song

-----邮件原件-----
发件人: image-sig-bounces+songlixin=vanzotec.com at python.org [mailto:image-sig-bounces+songlixin=vanzotec.com at python.org] 代表 Charlie Clark
发送时间: 2011年12月30日 星期五 4:49
收件人: image-sig at python.org
主题: Re: [Image-SIG] gif convert png wrong

Dear Song (I hope I have this the right way round),


Am 20.12.2011, 03:50 Uhr, schrieb 宋立新(凡卓通讯)
<songlixin at vanzotec.com>:

> Hello All:
>       I am writing a python tool that covert gif to png so it can be used
> for android ROM customization.
>            My script is after the text, but it doesn’t work for some  
> gifs,
> such as the one at:
>                            ftp://help:help@222.68.182.226/gif2.gif
>                   several frames are wrong(See png_ok and png_wrong)
>                   And it’s not rare: 2 of my 7 gifs got wrong with the
> scripts.
>                   While a tool named: “Ulead GIF Animator 5” under
> windows can convert it without problem.
>                   To be honest, imagemagick and another linux tool  
> gif2png
> also has the same problem. And Also AcdSee (Under Windows)!
>                   I have no idea about this and I really wish to write a
> tool to improve our efficiency.
>                   Could some expert take a look on it?
>         BR,
> Lixin Song

The problem seems to be related to the underlying library used for either
GIF or PNG images as your script runs fine on my machine (Mac OS 10.7).
Frames 2 and 56 look a bit weird but the original image looks like this.
I'm not sure which frames you think don't work.

FWIW your script isn't very Pythonic (the try clause should preferably
only contain one statement with known error conditions) and can be
rewritten thus:

for i in range(im.info['duration']):
       try:
           im.seek(i)
       except EOFError:
           break
       im.save("test%02d.png" % i)

Charlie
-- 
Charlie Clark
Managing Director
Clark Consulting & Research
German Office
Kronenstr. 27a
Düsseldorf
D- 40217
Tel: +49-211-600-3657
Mobile: +49-178-782-6226
_______________________________________________
Image-SIG maillist  -  Image-SIG at python.org
http://mail.python.org/mailman/listinfo/image-sig



More information about the Image-SIG mailing list