This is likely a very niche request, but perhaps there’s a genius here with the answer - or can point me to a better place to ask.

If I want it to look like a web page is loading an interlaced gif over an old modem connection, would there exist some tool to convert a given static image to an animated gif (preferably downsampled to 256 colours)?

You know, the one where it starts off as one giant coloured block which then gets progressively segmented into thinner lines with more detail as each interlaced line is received…

  • Andrew@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    I don’t know if there’s any tools that’ll do that - I imagine it’d be an animation that you’d need to tediously build frame by frame. Gif is especially inefficient to simulate slowness because you need a new frame even when it’s the same as the previous one, so the file would be massive. So you’d want to convert it to MP4 (which anything hosting it would probably do automatically) or use webp - this doesn’t have particularly widespread support but it lets you create animations with a ‘delay’ element so you can hold certain frames. An example of that is here: https://lemmy.world/pictrs/image/218d951c-67b3-4589-ac94-8f661b32a8fc.webp (wait for it …)

    • noughtnaut@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      I understand what you say about needing to render every frame, but it’s possible to use a very slow frame rate for the gif (eg. 1 frame every 2s).

      • Andrew@piefed.social
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        You can set a gif’s FPS yeah. There’s an app called gif.ski that lets you play around with this - add a folder full of PNGs to it and render a gif. The lowest the UI lets you select for FPS is 1 - I made one and stuck it here so you can see what that looks like.

        You can use the same tool on the command line if you want a half frame per second rate, e.g.:
        gifski --output interesting.gif --fps 0.5 --quality 70 *.png