1
votes

When I scale a layer down to 10% and then scale it back to its original size, it becomes blurry: it loses most of the information in the scaling down step. Is there a way to avoid this?

I would like to play around the sizes of the layers (sizing down & up) until I got all of them as I want to be, and would like GIMP to keep the source images untouched and only actually scale it down when exporting the whole image.

Is this thing possible with another software? Alternatively, is there a way of quickly reloading all source images and scaling them once in the end?

2
Imagine you resize an image to 1x1 pixel. Now you have one coloured pixel. How do you propose Gimp should reconstruct your original image when upsizing your one pixel to original size again? Magic? - Nyerguds
@Nyerguds That was exactly my question, whether it's possible to not store the image as pixels on the canvas, but as a separate image, and only show a preview on the canvas in whatever scale I choose. (As for the "Magic?": I understand the basics of image/data encoding, I literally wrote the same example in my question, no need to be sarcastic here :) ) - Rolf
While you scale something "live" with the layer Scale tool, the initial layer isn't changed and you can scale up/down at will. If you "commit" the change then the source layer is actually rescaled. If you want to recover the initial layer you have to Ctrl-Z. If your problem is that you see both the initial layer and the preview when you scale, you can make the initial layer invisible before scaling it. - xenoid
@xenoid I understand, and I assumed it works like that. However I would prefer this "committing" to be in the very end of my process flow and once for all layers, which is not possible with GIMP. But thanks for your last sentence, that's a good tip, it sometimes does bother me. - Rolf
The term you are looking for is "nondestructive editing". GIMP can't do this yet, Its underlying image manipulation library can do this, e.g. gegl.org/operations/transform.html - the remaining issue is that GIMP currently uses it just temporarily to get a result and still modifies the input (e.g. a layer) permanently. - Michael Schumacher

2 Answers

1
votes

Gimp is a raster image editor; all your image data is in pixels, and most transformations done on these pixels will inevitably cause you to lose data. If you want to keep your original image around while using it scaled, you could simply make a new layer for the downscaled image, while keeping the original layer(s) it's based on in the project, but simply setting it invisible. Or, you could just keep the non-scaled original in a separate project, as original quality backup. It's not Gimp's job to do your WIP management for you.

If you don't want to use backup-layers but are really looking for scalable content, you should look into using vectors instead. Gimp has rudimentary vector support with its Paths tool. It allows you to create shapes and curves which can be converted to a selection, which can then be filled with colours. Text data from fonts can be converted to such paths, and you can export paths themselves as svg files.

As I said, this support is rudimentary. Gimp is not the ideal tool for this kind of thing. Expect to do some manual xml editing if you want those svg files to be anything more than simple black outlines of your shapes. If you really want 100% scalable content, look into actual vector drawing applications, like InkScape.

1
votes

You lose information when you scale a bitmap, there is no escape. And this is also true to a lesser extent with the other Transform tools (rotate, shear, perspective...). All these are best used only once on any object. If you want to try things, duplicate the layer to make a test, so you can always come back to the unaltered version. You can also use Edit>Undo or CtrlZ to back out your last changes.

File>Revert will reload the image from disk.