21
$\begingroup$

As you can see, if I try to translate an image in the compositor, it does not affect the actual bounds of the image, only the pixels themselves.

Normal, without any change

Translated up 150 px

The same thing happens when trying to scale an image:

Scaled up 200%

So the image cannot be moved or scaled further than the actual dimensions of the image without clipping it.

The render border size does not seem to affect it: (Seen here with a gradient texture to define where the render dimensions are.)

enter image description here

For some reason skipping the blur node makes it work, but with it it gets cropped.

Aside from creating a lot of transparent space around the image in an external image editor or scaling the Pixels down with a Scale node,
How can I accomplish this?

$\endgroup$
5
  • $\begingroup$ I have a hard time to understand the problem. I tried to duplicate the steps and the only clipping I found happens at the render border, as defined in the render buttons. Do you want to see the part of the image that lies outside the render boundaries? $\endgroup$ Aug 14, 2013 at 2:39
  • $\begingroup$ @Haunt_House I updated my answer. $\endgroup$
    – gandalf3
    Aug 14, 2013 at 2:53
  • $\begingroup$ seems like the blur node messes things up. When I put it in, the problems start, when I leave it out, it's fine. Smells like a bug to me (I should read your posts before I comment) $\endgroup$ Aug 14, 2013 at 3:25
  • $\begingroup$ Translate is used to move the image in scene. It moves whole image. Try using Scale node with original render and play with settings to achieve your goal $\endgroup$
    – Ali Jibran
    Aug 14, 2013 at 7:21
  • $\begingroup$ @Haunt_House FYI I submitted a bug report here $\endgroup$
    – gandalf3
    Aug 15, 2013 at 1:12

2 Answers 2

19
$\begingroup$

There was a bug report on this where Ton said:

Blender compositor is an extension of our render pipeline, animation frames by definition are always the same size.

This is an issue we like to work on though, it's called "Canvas awareness" for compositor, where you can define a different output size for it than renders, and transform the renders inside the canvas freely.

There's currently two options:

  1. Perform transforms in 3D and used to resulting render layer. The planes from images addon can help with the setup.
  2. Perform a composite operation against an image of the desired size. The easiest way to generate one, is using the Mask node with a Fixed size. Example node setup using the Mask node set the size of the canvas
$\endgroup$
2
  • 1
    $\begingroup$ The mask node is the best solution yet, thanks. (though it does not have to be on fixed size to work) $\endgroup$
    – gandalf3
    Aug 15, 2013 at 15:41
  • $\begingroup$ Man, that Mask Node solution is brilliant! God bless you! Ten years later and your post is still helping people :) $\endgroup$ Apr 24 at 13:26
4
$\begingroup$

The solution might be to bring the input for the blur node up to size with an empty render layer. That way you don't have to change the image size manually.

In the shading panel of the render properties for that render layer, set the alpha to 'transparent'.

node editor blur node small image solution

$\endgroup$
3
  • $\begingroup$ This works, but I'm going to wait a little bit before accepting in case there is a way manually resize it. (which doesn't involve rendering out 1920x1080 transparent images ;) $\endgroup$
    – gandalf3
    Aug 14, 2013 at 16:51
  • $\begingroup$ Instead of a render layer, it's a lot faster to use a transparent generated texture. Thanks. (accepting) $\endgroup$
    – gandalf3
    Aug 15, 2013 at 1:05
  • $\begingroup$ On my machine, the difference in performance is about .2 seconds. Still, the texture node is the better fix, agreed. $\endgroup$ Aug 15, 2013 at 1:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .