Stretching/scaling/zooming only a particular area

I’m trying to magnify just a section of my canvas. Effectively I want the ‘Spherize’ layer but rectangular, not round or in just one direction.

The stretch and scale layers act on the whole canvas and there doesn’t seem to be a way to set the outer bounds of the layer?

I’ve been experimenting with creating a transparent rectangle and grouping it with the scale layer - that works in that only the rectangle’s contents are scaled but the scaling doesn’t pass through to the other layers underneath the rectangle.

Layers act over whatever it is under them in its own context. Isolate the context by inserting the affected layers and the effect layers inside a group.

The area I want to zoom/stretch is a rectangle within a layer (a .lst), if I make a group with the .lst and a stretch layer in it then the entire .lst is stretched. I can’t see how to make the stretch only apply to a part (rectangle) of the larger .lst layer?

For some context: the .lst is a recording of a mobile app running, at one point I want to draw attention to a particular part of the screen so I want to magnify just that section temporarily. The ‘Spherize’ layer does this but the magnified text is distorted due to the roundness of the sphere so I want to do it with a more straightforward stretch/zoom instead.

I haven’t worked with lst layers before, but I think you can duplicate them as with others layers.

So, when it will be duplicated, you can work with that copy. Make a mask (create a region with transparent composition and reverse application). Apply to that mask the operations: movement, rotation, scale, etc. Of course the original lst must be visible, too.

I have made a simple example with a static image:

zoom.sifz (1.84 KB)

You’ll need this image to load the Synfig file:


Aha! Yes it’s the mask I needed. Experimenting… Thanks very much!