Jim Groom in my fridge



So I was out of town for a week, and when I got home I opened the fridge to…what the H-E-double-L is THIS? Jim Groom in my refrigerator? Okay, I’m a bit creeped out now. At least he seems to be having a good time. Maybe he ate all the food and just left the sparkling water and the Metamucil.

This is the Dancing Jim All Over the World ds106 assignment, as part of the August 2013 GIF challenge created by Talky Tina.

This one was not as difficult as I feared it might be, in large part thanks to some very helpful instructions posted by Rockylou and Brian Bennett.

I used an earlier image I made for a ds106 daily create as the background and foreground for Jim.

The process


1. Opening and duplicating the background image

I opened (as layers) the wireless mic version of the Groom template that Talky Tina created into GIMP. Then I opened (as layers) the almost-empty-fridge-blues image I had from the earlier daily create assignment.

I put the fridge image on the bottom so that I could see the Jim layers above it—this made it easier to see where I needed to scale and move Jim’s layers.

I then duplicated the fridge image so that I had the same number of fridge layers as Groom layers.



2. Scaling and moving the Groom layers

There were 9 layers in the Groom gif, and in order to move them together and scale them together, I had to do two different things, as explained in an earlier post.

In order to scale all the Groom layers together (rather than one by one) I put them all into a “layer group” (click the link to see how to do this). Then I could scale them by right-clicking (or control-clicking) on the layer group folder and choosing “scale image.” I made Groom the right size to fit into the fridge shelf.

But I also needed to move all the layers together so they’d be in the right place. Unfortunately, due to some strange quirk of GIMP, you can’t move layers together in a layer group. Instead, you have to “link” them. Then you can move them all at the same time.


3. Creating a foreground in front of dancing Jim

I already had 9 fridge layers to act as background for the Groom layers, but now I needed to create a foreground for him too. To do that, I duplicated the fridge layer one more time, and then used the “lasso” or “free select” tool to select the shelf that would go in front of Jim.

I then created a layer mask on that image (go to Layer->Mask->Add layer mask) and clicked “selection” in the dialogue box. This made it so only the shelf was visible and the rest of the image was transparent. In GIMP you also need to “apply layer mask” to the image after adding it. You can do this by clicking on the layer with the mask, and going to Layer->Mask->Apply layer mask.

I needed 9 of these foregrounds as well as 9 of the original image as backgrounds. So I just duplicated the image that had the layer mask applied.


4. Putting Jim between the foreground and background, and merging

I first put a fridge layer under each Groom layer so that each Groom has a background. Then I put a fridge shelf layer above each Groom layer, so each Jim has a foreground.

Time to merge down. First, I merged a fridge shelf layer with a Groom layer. Select the top layer and right or control-click to get the dialogue box and choose “merge down” (see screenshot). Then, I merged the fridge shelf/Jim layer with the fridge background layer beneath it using the same process. And repeat for each threesome of shelf, Jim, fridge.


5. taking layers out of the layer group

You can’t animate the layers in GIMP if they’re in a layer group, so you have to take them out. You can do this anytime after scaling and moving them, but I kept them in for awhile just to make sure they were in the right place.

Move the layers out by just clicking and dragging each to the top or bottom of the layer group, keeping the same layer order. Then you can delete the layer group by clicking on it and control- or right-clicking and choosing “delete layer.”


6. Changing the animation speed

Jim was dancing too fast at first, so I exported as gif again and changed the dialogue box on export to read 200 millisecond delay between frames. That got him about right, I think!

Now, if only I could get my act together and add some music! 


Headless Selfie


Who is really running the show?

Here is my headless self (see also here)—though actually, it’s less headless than showing some other head hidden behind mine.

Truth be told, who is really running the show is my 6-year-old son, but since I don’t like to show his image in public on the web, I used one of my cat Snapper instead. I was on sabbatical in Australia for a year, and during that time my cat was staying with my mom in Idaho. I’m there right now to visit and take Snapper home.

Talky Tina has started an August animated GIF challenge for ds106, and given how long this one took me, my chances of doing one every day are very, very low. But I’ll do what I can!

This was really, really challenging for me. I honestly wasn’t sure how to even start. And it didn’t turn out how I’d like—the wicker chair behind my head got animated at the top of my head and I honestly can’t remember how or why I did that. And my chin doesn’t disappear until Snapper’s head comes through. Can’t recall why that happened either.

The process

Here is a lesson for me (and others): if you’re going to blog about your process (which beginners like me sure do like because we learn a lot that way), then it’s good to take notes and screenshots while you’re doing the process rather than waiting until the end. Because I tried so many different things just to see what they would do, that by the end I wasn’t really sure what I actually did do that worked. And since I merged layers down after making layer masks and such, I no longer can get screenshots that show the process before the layers were merged.

Here’s what I remember—some notes I took last night right after I finally got this to work. I’m not sure it entirely fits what I did.

I used GIMP for this project, and two pictures: one of me, and one I took of Snapper yesterday.

1. I used the “lasso” or “free select” tool to do a rough selection around Snapper’s head. Then I used “create layer mask” on his layer, “to selection,” so that just his head was visible and the rest of the image was transparent. I also did the same thing around my head so that my head disappeared but the rest of the image stayed, so that then I had an image with my body and Snapper’s head. I had to move Snapper’s layer a bit to make his head fit into the “hole” I had made in my picture’s layer.

But that didn’t end up working well, because Snapper’s face shape doesn’t fit mine, of course, so I had to figure out how to get the wicker chair background behind Snapper’s head.

2. On a layer with my image, I created a background of wicker chair over my head with the clone tool. That was tricky—getting it to look reasonably realistic. I am still not entirely happy with that, but after spending a lot of time on it, doing it over and over, I finally just went with what I had.

What I can’t remember is how I determined how big to make this cloned wicker background so it would show up behind my head when my head disappeared and Snapper’s appeared.. Whatever I did, it didn’t fit exactly—more of the wicker chair animates than needs to.

3. I then put the image of me with wicker over my face under the Snapper head layer. Next, I made several Snapper head layers, each with a graduated opacity: 25%, 50%, 75%, 100%. I put the image of me with wicker over my face under each one, so that when Snapper was partly transparent, the wicker showed through. I then merged the Snapper head layers down onto the wicker chair head layers.

4. To do the same thing with my own face, I made a different layer mask on my layer than I did originally—one that allowed my head to show through and the rest of my body to be transparent. I put that one on top of the image with wicker where my head should be. I then created several versions of my head layer, again with different opacities: 100%, 75%, 50% (I just went to 50 on this one, not 25), and put the wicker char background layer under each of these—again so that when my head fades out there is wicker chair underneath it. I merged each “head” layer with the “wicker chair” layer under it, so each layer had my head at different opacities with the wicker chair underneath it.

5. I ordered these layers so that it started off with my full opacity image, then my head fades out 75%, 50%, then Snapper’s head appears 25%, 50%, 75%, 100%. Then I just duplicated layers so that the process went backwards in reverse order. And tried animating.

6. But GIMP animates from the bottom of the stack up, apparently (at least it did with this one…does it always? I don’t recall), so it started off with Snapper’s head, which faded out to mine, and back. So I had to reverse the layers. Searching on the web, I found that there is a tool in GIMP for doing this automatically instead of moving layers one by one (which I now vaguely remember doing at some point on another project). You just go to Layer->Stack->Reverse Layer Order, and voilà! It animated in the right order!

7. Lastly, I had to play with the timing of the frames so it animated a bit slower than the default. When you “export” and save as a GIF, you get a dialogue box that gives you a choice of milliseconds to delay between frames. It was at 100, but I changed it to 300. Then I had to click the check box saying to use that delay between each frame.

I expect there is an easier way to do this that wouldn’t take so long. If you know of one, please let me know in the comments!