Advertisement


GIMP: how to create a collage where the photos can be repositioned within frames?


Question

I'm trying to create a collage with 3 photos in GIMP, and I want to be able to reposition the images within each frame, not just crop them to fit the frames. Here is a sketch of what I want it to look like:

Collage sketch

In short, I want to be able to move each photo independently within each frame (black box) without them showing on the other frames. Here's what I've tried so far (and what problems I ran into):

  1. Create background, add layer mask from selection, import photo as a new layer below (possible to move photo inside frame, but multiple photos/layer groups block each other when added with the same background - only one layer group shown at a time)
    Method 1
  2. Create transparent layer, fill selection with foreground color to create a frame, import photo as a new layer above, add layer mask from selection (allows multiple photos to be shown on the canvas, but the layer mask inhibits repositioning by cropping the photo to selection)
    Method 2

Any help would be greatly appreciated! I'm using GIMP 2.8.10 on Windows.

2014/07/29
1
1
7/29/2014 3:43:00 PM

Accepted Answer

Try this:

Import each photo in a layer, create a layer mask, and draw your frame as a white rectangle on the mask. To position the photo, select the layer (not the mask), pick the Move tool, select all (ctrl + A) and float the selection (ctrl + shift + l). This way the mask will stay in place as you reposition the layer contents. (Anchor the floating selection after you are done - ctrl + H)

If you have to do this several times, it may be a simple thing to script the steps of create mask, draw frame, float selection for each layer - so you just have to position the photos - or even have a template with the frames, and the script would open each photo in a suitable layer, preserving the mask.

If you want to do that, please, check my GIMP answers on stackoverlow.com (as these are related to code).

2014/07/30
2
7/30/2014 11:54:00 AM