RSS/Atom feed Twitter
Site is read-only, email is disabled

Why doesn't "drawable area" follow the dimensions of a layer?

This discussion is connected to the gimp-user-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

Janne Kronback
2010-04-15 13:03:58 UTC (almost 15 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

I used GIMP yesterday after a break of a few months and spend the first hour being frustrated.
Part of it was because I was using a Swedish version which I haven't tried before, so all the names were strange at first...

Anyhow, the manual (chapter 8) says nothing about the issue I had. I copied a part of the image as a new layer which I was to "tile" to get a bigger surface. I naturally resized the layer x*y times to make room for it (I know there are tools to do this, they did however not give me the result I was after).
I was then to copy that piece of texture again and paste it into the same layer and move it to the correct position repeatedly when the strange thing happened..
The texture just disappeared into nothingness the moment it was slid out of the border of the original texture! Even though the layer boundaries was resized,
I could not use it.

The manual explicitly says: "Note: he amount of memory that a layer consumes is determined by its dimensions, not its contents. So, if you are working with large images or images that contain many layers, it might pay off to trim layers to the minimum possible size. "

Why did I resize the layer, consume more memory but wasn't allowed to use it until I, in another menu, chose "expand drawable area to the boundaries of the layer" (in swedish).
This doesn't feel like it should be the default behaviour. Out of curiosity, why would you want to expand a layer that you cannot draw on?

Comments?

best regards, Faulty

David Gowers
2010-04-15 13:59:59 UTC (almost 15 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

Hello Janne,

On Thu, Apr 15, 2010 at 8:33 PM, Janne Kronback wrote:

I used GIMP yesterday after a break of a few months and spend the first hour being frustrated.
Part of it was because I was using a Swedish version which I haven't tried before, so all the names were strange at first...

Anyhow, the manual (chapter 8) says nothing about the issue I had. I copied a part of the image as a new layer which I was to "tile" to get a bigger surface. I naturally resized the layer x*y times to make room for it (I know there are tools to do this, they did however not give me the result I was after).

In this situation, I usually adjust the canvas size and select the option which adjusts all layer sizes accordingly.

I was then to copy that piece of texture again and paste it into the same layer and move it to the correct position repeatedly when the strange thing happened..
The texture just disappeared into nothingness the moment it was slid out of the border of the original texture! Even though the layer boundaries was resized,
I could not use it.

You could. It just looked like it was not being pasted. That's an illusion created by the combination of your method and GIMP's treatment of layer content outside canvas bounds.

The manual explicitly says:
"Note: he amount of memory that a layer consumes is determined by its dimensions, not its contents. So, if you are working with large images or images that contain many layers, it might pay off to trim layers to the minimum possible size. "

Why did I resize the layer, consume more memory but wasn't allowed to use it until I, in another menu, chose "expand drawable area to the boundaries of the layer" (in swedish).

You will not be able to see anything outside of the bounds of the *image*; I expect the menu item that you were looking at was the same as the english item "Fit Canvas to Layers".

The canvas is the boundary size of the image (and it is usually what you will find you want to really adjust, rather than layer boundary size)

This doesn't feel like it should be the default behaviour. Out of curiosity, why would you want to expand a layer that you cannot draw on?

I suspect you want to reword that question, as there is no such thing as a layer which you actually cannot draw on (except by explicitly indicating you want that, using the 'lock pixels' or 'lock alpha' toggles).
It's perfectly possible to set things up so you are likely to THINK you cannot draw on a layer as it's not visible; but such thoughts are inaccurate, you can draw, paste, etc on it just the same as any other layer; the layer just is not visible until you move your layer back within canvas bounds

Hope that helps,

David

Janne Kronback
2010-04-15 15:07:46 UTC (almost 15 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

Hello David and thank you for the quick reply!

Now, using the word "Canvas" rather than "Drawable area" makes things a lot more sane immediately, and your
explanation is accurate and acceptable.

Is there a way to toggle the visibility of the content of layers outside the canvas?
If not, I'd be nice to have such a feature.. perhaps by seeing those parts as slightly greyed out like in most
photo-editing applications when performing a crop on an image. What do you think?

I might even considering taking that on as an implementation task.. would be fun to contribute to GIMP!

/ Janne

On Thu, Apr 15, 2010 at 1:59 PM, David Gowers wrote:

Hello Janne,

On Thu, Apr 15, 2010 at 8:33 PM, Janne Kronback wrote:

I used GIMP yesterday after a break of a few months and spend the first

hour

being frustrated.
Part of it was because I was using a Swedish version which I haven't

tried

before, so all the names were strange at first...

Anyhow, the manual (chapter 8) says nothing about the issue I had. I copied a part of the image as a new layer which I was to "tile" to get

a

bigger surface. I naturally resized the layer x*y times to make room for

it

(I know there are tools to do this, they did however not give me the

result

I was after).

In this situation, I usually adjust the canvas size and select the option which adjusts all layer sizes accordingly.

I was then to copy that piece of texture again and paste it into the same layer and move it to the correct position repeatedly when the strange

thing

happened..
The texture just disappeared into nothingness the moment it was slid out

of

the border of the original texture! Even though the layer boundaries was resized,
I could not use it.

You could. It just looked like it was not being pasted. That's an illusion created by the combination of your method and GIMP's treatment of layer content outside canvas bounds.

The manual explicitly says:
"Note: he amount of memory that a layer consumes is determined by its dimensions, not its contents. So, if you are working with large images or images that contain many layers, it might pay off to trim layers to the minimum possible size. "

Why did I resize the layer, consume more memory but wasn't allowed to use

it

until I, in another menu, chose "expand drawable area to the boundaries

of

the layer" (in swedish).

You will not be able to see anything outside of the bounds of the *image*; I expect the menu item that you were looking at was the same as the english item "Fit Canvas to Layers".

The canvas is the boundary size of the image (and it is usually what you will find you want to really adjust, rather than layer boundary size)

This doesn't feel like it should be the default behaviour. Out of

curiosity,

why would you want to expand a layer that you cannot draw on?

I suspect you want to reword that question, as there is no such thing as a layer which you actually cannot draw on (except by explicitly indicating you want that, using the 'lock pixels' or 'lock alpha' toggles).
It's perfectly possible to set things up so you are likely to THINK you cannot draw on a layer as it's not visible; but such thoughts are inaccurate, you can draw, paste, etc on it just the same as any other layer; the layer just is not visible until you move your layer back within canvas bounds

Hope that helps,

David

Deniz Dogan
2010-04-15 19:57:52 UTC (almost 15 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

2010/4/15 Janne Kronback :

I used GIMP yesterday after a break of a few months and spend the first hour being frustrated.
Part of it was because I was using a Swedish version which I haven't tried before, so all the names were strange at first...

I think I managed to change this on my own installation by setting the environment variable "LANG" to "en".

HTH, Deniz Dogan

2010-12-16 05:21:32 UTC (about 14 years ago)
postings
1

Why doesn't "drawable area" follow the dimensions of a layer?

Hello David and thank you for the quick reply!

Now, using the word "Canvas" rather than "Drawable area" makes things a lot more sane immediately, and your
explanation is accurate and acceptable.

Maybe this is the same situation I have.

I have a picture (picture 1). I expand the size of the canvas to make room to copy another picture beside the original (picture 2). Picture 2 is copied from an open GIMP image and pasted into the enlarged canvas area of picture 1. Picture 2 is invisible if it dragged outside the bounds of picture 1 into an open area of the canvas. I can't figure out why that would be a useful design characteristic and how to change the situation to make the imported pictures visible on the expanded canvas.

Probably something simple. _____
Bert

Frank Gore
2010-12-16 06:18:09 UTC (about 14 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

Maybe this is the same situation I have.

I have a picture (picture 1). I expand the size of the canvas to make room to copy another picture beside the original (picture 2). Picture 2 is copied from an open GIMP image and pasted into the enlarged canvas area of picture 1. Picture 2 is invisible if it dragged outside the bounds of picture 1 into an open area of the canvas. I can't figure out why that would be a useful design characteristic and how to change the situation to make the imported pictures visible on the expanded canvas.

I think what you're referring to here is the "layer boundary". And you're right, it's incredibly aggravating to work with at times. To me, this is one of the more annoying aspects of Gimp, especially since none of the competition works this way.

The idea goes like this: - Memory usage is determined by layer size and not its content (as was quoted from the documentation)
- Layer size is independent from canvas size

So in theory, you could have an image which is contained on a big canvas (say 5000px by 5000px), but is made up of a bunch of layers which are each only large enough to contain their share of the whole (say 8 layers of 100px by 100px each). This allows you to create images which are much bigger than available memory would typically allow.

This was a great idea back when available memory was limited. Today it's more a pain than anything else. It might still be useful if you want to make ginormous images, but by that point, you'll be more likely to run out of other resources instead.

For now, the easiest way around it is to perform the following whenever you create a new layer with a smaller boundary size:

- in the Layers panel, right-click on the layer and select "Layer to Image Size"

This will make the layer boundary automatically stretch to the current size of the canvas. If you ever increase the canvas size, you'll need to do this for each layer again.

-- Frank Gore
THE place to talk photography!
www.FriendlyPhotoZone.com

David Gowers (kampu)
2010-12-16 07:14:27 UTC (about 14 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

On Thu, Dec 16, 2010 at 3:51 PM, Lambertus wrote:

Hello David and thank you for the quick reply!

Now, using the word "Canvas" rather than "Drawable area" makes things a lot more sane immediately, and your
explanation is accurate and acceptable.

Maybe this is the same situation I have.

I have a picture (picture 1). I expand the size of the canvas to make room to copy another picture beside the original (picture 2). Picture 2 is copied from an open GIMP image and pasted into the enlarged canvas area of picture 1. Picture 2 is invisible if it dragged outside the bounds of picture 1 into an open area of the canvas. I can't figure out why that would be a useful design characteristic and how to change the situation to make the imported pictures visible on the expanded canvas.

You don't want the image dimensions to change constantly, right? that would FUBAR your export consistency, which is pretty important for aligning features (eg in a website layout). That's why.

As for a solution, positioning the layer where you want and using 'fit canvas to layers' should solve it. Alternatively you can directly resize the image canvas.

Ofnuts
2010-12-16 07:36:58 UTC (about 14 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

On 12/16/2010 06:21 AM, Lambertus wrote:

Hello David and thank you for the quick reply! Now, using the word "Canvas" rather than "Drawable area" makes things a lot more sane immediately, and your
explanation is accurate and acceptable.

Maybe this is the same situation I have.

I have a picture (picture 1). I expand the size of the canvas to make room to copy another picture beside the original (picture 2). Picture 2 is copied from an open GIMP image and pasted into the enlarged canvas area of picture 1. Picture 2 is invisible if it dragged outside the bounds of picture 1 into an open area of the canvas. I can't figure out why that would be a useful design characteristic and how to change the situation to make the imported pictures visible on the expanded canvas.

Probably something simple.

Because what you have at that point is a floating selection, not a layer, and what Gimp is showing you is what you get if you anchor that selection *to your active layer*. Do this quick experiment: make a picture with two layers visible side by side: select one layer and paste something else: if you move the pasted selection it won't affect the other layer.

=?UTF-8?B?VMWRa8OpcyDDgWJlbA==?=
2010-12-16 07:44:48 UTC (about 14 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

12/16/2010 6:21 AM keltez?ssel, Lambertus ?rta:

Hello David and thank you for the quick reply! Now, using the word "Canvas" rather than "Drawable area" makes things a lot more sane immediately, and your
explanation is accurate and acceptable.

Maybe this is the same situation I have.

I have a picture (picture 1). I expand the size of the canvas to make room to copy another picture beside the original (picture 2). Picture 2 is copied from an open GIMP image and pasted into the enlarged canvas area of picture 1. Picture 2 is invisible if it dragged outside the bounds of picture 1 into an open area of the canvas. I can't figure out why that would be a useful design characteristic and how to change the situation to make the imported pictures visible on the expanded canvas.

Probably something simple. _____
Bert

Hi,

When you paste a new picture into your canvas, it becomes not a real layer, but a floating selection. If you click with a selection tool anywhere on your current layer, outside the floating selection, the floating selection becomes anchored down on the layer. Another possibility when you have the floating selection is to go to layers dialog, and click on new layer button (the white page). This will turn your floating selection to a layer, and it will be visible anywhere inside the canvas.

Abel

Patrick Horgan
2010-12-16 09:02:53 UTC (about 14 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

On 12/15/2010 09:21 PM, Lambertus wrote:

Hello David and thank you for the quick reply! Now, using the word "Canvas" rather than "Drawable area" makes things a lot more sane immediately, and your
explanation is accurate and acceptable.

Maybe this is the same situation I have.

I have a picture (picture 1). I expand the size of the canvas to make room to copy another picture beside the original (picture 2). Picture 2 is copied from an open GIMP image and pasted into the enlarged canvas area of picture 1. Picture 2 is invisible if it dragged outside the bounds of picture 1 into an open area of the canvas.

That's because even though the canvas got bigger, the layer didn't. If something is pasted into a layer and all or part of it is outside the boundaries of the layer it's not visible and if you anchor the paste, the part outside of the layer will be lost forever. We say that it clips to the layer. (If this happens type Z a time or two right away to undo. You can make the layer bigger in the layer menu, and then you won't drag things into invisibility. New layers will default to a bigger canvas size. It all seems completely obvious to me now, but I remember losing things like this and being really frustrated and not knowing what to do.

So we agree that it's REALLY confusing and frustrating, so why DON'T layers resize with the canvas? The reason that the layer/layers don't automatically resize to the canvas size is because there's no way for GIMP to know if you want to do that. You can have a lot of layers of different sizes all over the canvas overlapping or not. Imagine a late Mondrian work. Some layers might be canvas size, but some might be tiny. Some layers might be opaque, and some more or less transparent. That might be an important part of your design. If you then realize your canvas needs to be a little bigger and resize it, and then find that all of the layers resized to the new size of the canvas, well that would be horrifying.

If that's what you want though, you can make any layer go to the layer size by first making sure the layer is active in the layers dialog, then going into the layer menu and selecting the "layer to image size" menu item. You also can just right click the layer in the layers dialog and select the "layer to image size" menu item.

Patrick

Kevin Cozens
2010-12-18 06:04:58 UTC (about 14 years ago)

Why doesn't "drawable area" follow the dimensions of a layer?

On 16/12/2010 12:21 AM, Lambertus wrote:

Picture 2 is copied from an open GIMP image and pasted into the enlarged canvas area of picture 1. Picture 2 is invisible if it dragged outside the bounds of picture 1 into an open area of the canvas.

The other option you have is to use "Paste as new layer". You can use the layer alignment tool to position the new layer and eventually merge the pasted layers.