Request for Resize to Current Layer function

I think it would be useful if there was a Resize to Current Layer function.

There is already a Trim to Current Layer function but the Trim function removes off-canvas content from the final image when it’s been changed to the new size.

As an example of how it could be used:

At the moment. for animations that use off-canvas content, I use the current Resize function and specify a larger size that will include all planned off-canvas content and I accept the default central offsets because it’s a complicated pain to determine suitable offsets and remember them.

After working on the off canvas content, I Resize back to the orginal intended animation canvas size, again accepting the default offsets.

With a Resize to Current Layer function available, the process would be as follows:

Create an image of the required final animation size.
Make a ‘final animation size’ reference layer and fill it with some colour. This can be placed below the background (or wherever) to keep it out of the way.
Resize the image, with offsets as needed, to give a working area that includes intended off canvas content.
Create a new layer, the ‘full working size’ reference layer, and fil it.

Then, you can select the ‘final animation size’ layer or the ‘full working size’ layer then use Resize to Current Layer to change the extent of the image as required for off-canvas working or for final rendering.

This would be useful for any work that involves use of off canvas content, not just animations.

At any time, you can modify those reference layers to give new sizes and offsets as you may feel is required.

The rectangular selection is automatically picked up by the “crop tool” (which has a canvas-only mode that saves the contents of layers, unlike the existing command to “Trim to current layer/selection”). You can attach a selection mask, and easily return to the reference canvas size through it. But I still think that Cropping is needed as an optional dialog when exporting animation or as part of the “camera tool” - if such a thing appears.

Are you saying that Resize to Current Layer is not needed because the Crop Tool can perform the same function?

My thinking is as follows:
Trim to Current Layer already exists so the process of determining the rectangular bounding box of layer content already exists.
Resize to a defined rectangular region already exists where that rectangular region is defined, by manual adjustent of size values and offsest in the current Resize Tool UI, which is quite complicated and comprehensive.

Given these two functions/facilities already exist:

  1. Determination of a layer content rectangular bounding box in terms of it’s size and location.

  2. Resizing the canvas to a defined rectangular bounding box, in terms of its size and location.

It would seem to be ‘not difficult’ to perform the Resize function as a Resize to Current Layer function where this could be done as one of:
a) Have it as directly as Image → Resize Canvas to Current Layer, or
b) Have it as an option in the Image → Resize Canvas GUI window.

I am more concerned that there are already 2 versions of “Trim” that look similar to your request, but are not suitable for its execution due to cropping layers outside the canvas borders. You will either need to rework these tools by adding the “applies to” option, or make their analogues with a different behavior.

For example"Crop Tool" shares its “applies to” setting with the “Resize Canvas” function, but this is not displayed in any way in the “Resize Canvas” dialog, which is strange.

In fact, there is no difference which auxiliary object will form the basis of framing, whether it is a layer or a selection, each of them can be both a “crutch only for cropping” and a dual-purpose object (that is, have practical application in work)
As a result, when I look at all this, the idea arises that the most concise way is to have several individually customizable CANVASES (or Cavanse Layer) inside the file, of which only one can be active, it sounds easier than simulating different sizes through tools.

I don’t mind different tools expanding their capabilities, I like the initial idea of accessing presets with file sizes, I like the idea of resize via layer/selection, and I would like to see something universal and generalized

Exactly. Trim removes off-canvas content. Resize does not remove off-canvas content.
I need off-canvas content to be preserved because I keep swapping between a smaller size (for rendered animation output) and a larger size (for full visibility of content that is off-canvas from the smaller size).

Then what is your counter proposal and where is the Feature Request topic for it?

I want to know your opinion whether it is worth placing the functions “Trim to Current Layer/Selection” and “Resize Canvas to Current Layer/Selection” side by side, or whether a combined version with a dialog is needed. I have no questions or complaints about adding additional options inside the dialogs of the current “Resize Canvas” and “Crop Tool”.

I am not sure that I should create a description of a non-existent tool like a “Camera”, I would like to see a prototype and express my wishes based on it.

Most of what I’ll say in this reply is already known to you but it would be useful and helpful to anyone who is wondering about Trim, Resize and Crop.

The Trim, Resize and Crop functions are all very similar in that they cause the canvas size and location (relative to its current location) to be modified.
How that modification is controlled/specified by the user and the ‘side effects’ or ‘consequences’ are different between them.
Note: Resize is not the same as Scale. The canvas can be thought of as a rectangular viewport onto the infinitely large layers of the image.
Changing the size of the canvas and its position relative to existing painted layer content is very, very useful.


Trim:-
The simplest of the three. It only has main menu options as Image > Trim to (Image Size, Current Layer, Selection) where the canvas is trimmed/resized to the final size as indicated in the option.
So why is there a Trim to Image Size option, which results in no change to the canvas?

Trim will delete off canvas content for all layers of the resulting canvas.
So, Trim to Image Size is useful for removing off-canvas content as the only operation/change performed.


Resize:-
This is presented differently. It is run from Image → Resize Canvas and it has its own UI window with a combination of numerical value adjustment for new size and relative offset and a small graphic border presentation that can be dragged. This is mostly illustrative and is not suitable for fine control of the final canvas size or position.

Resize will not remove any off canvas content from the layers.


Crop:-
This is presented as a tool in the Toolbox and has its controls and options in the Tool Options docker. These include numerical value adjustment and on canvas/workspace dragging of a graphic element to represent and control the resulting new canvas size and location. This graphic control element is over the image on the canvas and so is useful when existing content location plays a part in consideration of what the final end result will be.
The Crop Tool options include ‘decorations’ to show e.g. division by thirds, fifths (that are placed on the canvas/image); which are useful for artistic and aesthetic considerations.

Crop will remove canvas content but that removal can be limited to a particular selected layer or can be made to include all off canvas content in the image and apparently can be limited to the current animation frame. (I’ve never used it to do that.)


So… They all do a very similar thing but have quite different UI/GUI and they have different consequences in terms of what happens to off canvas content.

In theory, they could all be combined into a single “Adjust The Canvas Size And Position” tool that had all the various options and GUI adjustment assistants in there to do everything that the existing Trim/Resize/Crop functions do, plus provide more options.

Some time ago, with consideration of the Trim and Resize functions (not Crop), I created a Wishlist bug report for modifying the Resize function and presentation:
415600 – Wishlist: Improved and additional Image Resize functions

With hindsight, this would have involved extensive GUI modifications that would need discussion.

Any attempt to combine or mix the existing Trim, Resize, Crop functions would be a significant change to the GUI and a disruptor to people’s existing workflow and experience.

(I personally would be happy to see Trim and Resize combined because I’m familiar with both of them and as far as I’m concerned they’re not very different apart from removal (or not) of off-canvas content. I’d be happy to see that as a checkbox option along with options for ‘To Image’, ‘To Layer’, ‘To Selection’ as overides to the GUI controls.
Bringing the Crop Tool into the mix would be a lot more complicated.)

Anything more that an additional Resize to Layer (and possibly a Resize to Selection) would be a lot of work and need lots of user comment and also GUI mock ups.

Hence my ‘simple’ Feature Request for a Resize to Layer function, which I thought should be ‘not difficult’ to do.
(Resize to Selection should also be ‘not difficult’ to do as well.)