omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Display gif

    Pythonista
    4
    21
    12865
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • cvp
      cvp last edited by

      Is it possible to post here the URL where you got this gif?

      1 Reply Last reply Reply Quote 0
      • NoBetterName
        NoBetterName last edited by

        http://fc00.deviantart.net/fs71/f/2012/189/a/a/dressage_horse_animation_by_lauwiie1993-d56it04.gif

        1 Reply Last reply Reply Quote 0
        • NoBetterName
          NoBetterName last edited by

          I also tried this one: http://bestanimations.com/Animals/Mammals/Horses/horse-walking-animated-gif1.gif

          Very simple, trotting horses. Not much memory space.

          1 Reply Last reply Reply Quote 0
          • cvp
            cvp last edited by cvp

            Downloaded it, then imported in Pythonista (+, import photo, no need to use a Photos script ) and quick look shows the movement.

            1 Reply Last reply Reply Quote 0
            • NoBetterName
              NoBetterName last edited by

              1: Thanks for that, @cvp. I didn't even know that was there. How stupid of me; I have used Pythonista for several years now, and have never used anything in that menu except for add script, pyui file, and txt file.

              2: It returns an IOError when I try to make a SpriteNode out of it. What now?

              JonB 1 Reply Last reply Reply Quote 0
              • NoBetterName
                NoBetterName last edited by

                Hold on, made some adjustments...
                It now produces a still image with no animation as a SpriteNode.

                cvp 1 Reply Last reply Reply Quote 0
                • cvp
                  cvp @NoBetterName last edited by

                  @NoBetterName Sorry, I've never used scene....I can't help you more.

                  1 Reply Last reply Reply Quote 0
                  • cvp
                    cvp @JonB last edited by

                    @JonB Missing import.os and w.present

                    1 Reply Last reply Reply Quote 0
                    • JonB
                      JonB @NoBetterName last edited by

                      @NoBetterName Since we don't have either your code, or a full traceback, how can we possibly help debug your code! Paste a minimal example that shows the issue, (using three backticks to format code), and paste a full traceback.

                      Are you using the GifSpriteNode git?

                      1 Reply Last reply Reply Quote 0
                      • NoBetterName
                        NoBetterName last edited by NoBetterName

                        Oh, sorry about that. Right now, I'm just trying to fix a simplified, very basic, gif-SpriteNode thing-a-ma-bobby. This is my code:

                        from scene import *
                        
                        class MyScene(Scene):
                        	def setup(self):
                        		img = 'horsegif.GIF'
                        		texture = Texture(img)
                        		background = SpriteNode(texture)
                        		background.size = self.size
                        		background.anchor_point = 0,0
                        		background.position = 0,0
                        		self.add_child(background)
                        		
                        run(MyScene())
                        

                        It isnt much.

                        By that way, the adjustment that I made earlier was just making the Texture from a file path instead of a ui.Image of the gif file. I don't know why it changed the results... I'm a bit clueless when it comes to gifs.

                        1 Reply Last reply Reply Quote 0
                        • cvp
                          cvp last edited by cvp

                          Perhaps, I say perhaps because I really don't know anything about scene, you could use image2gif to extract an array of PIL images (via readGif) and display each frame when scene runs....

                          1 Reply Last reply Reply Quote 0
                          • cvp
                            cvp last edited by cvp

                            You could also extract frames of your gif online, by example here and download a zip with all the frames, and then process it locally

                            1 Reply Last reply Reply Quote 0
                            • NoBetterName
                              NoBetterName last edited by

                              Problem with that, scene runs 60 times per second. Way too fast. I used the example above to process a gif and add it to a scene. Thanks @ccc!
                              I devised a switch system to slow down a gif if it goes too fast, as it seems that the gif @ccc referred to did something similar to your idea, @cvp. Thanks for all the help guys, and hopefully you will see this app on the App Store sometime soon!

                              1 Reply Last reply Reply Quote 0
                              • ccc
                                ccc last edited by ccc

                                get_horse.py...

                                import console, requests
                                
                                url = 'http://bestanimations.com/Animals/Mammals/Horses/horse-walking-animated-gif1.gif'
                                # url = 'http://fc00.deviantart.net/fs71/f/2012/189/a/a/dressage_horse_animation_by_lauwiie1993-d56it04.gif'
                                filename = url.split('/')[-1]
                                
                                with open(filename, 'wb') as out_file:
                                    out_file.write(requests.get(url).content)
                                console.quicklook(filename)
                                
                                1 Reply Last reply Reply Quote 0
                                • ccc
                                  ccc last edited by ccc

                                  I tried to remove as many class attributes from GifSpriteNode as possible to simplify/streamline the class. Perhaps a bit too radical. ;-) The duration is now hard coded because I did not find the gif.info['duration'] values to be very helpful. The commented URL seems to have a palette issue on one frame.

                                  https://github.com/balachandrana/animating_gif_in_pythonista_scene/blob/master/GifSpriteNodeHorse.py

                                  1 Reply Last reply Reply Quote 1
                                  • First post
                                    Last post
                                  Powered by NodeBB Forums | Contributors