1

I've drawn a few curves with the pencil, and now I want to edit one of them or at least delete it.

There's the history, but you can only undo a sequence that ends with the last op.

There's the path tool, and paths can be edited by right clicking a path in the path window. But they aren't free-hand drawing.

Is there an undo tool, in the spirit of the eraser tool, that can delete "history" objects?

  • There's no undo tool. What you should have done is to draw your lines/curves on a new layer. Then you could use the eraser tool on that layer, or delete the layer completely. – Billy Kerr Mar 21 at 23:57
  • Yeah, but creating a layer for each curve isn't practical. Based on the history, I would have expected at least the functionality of selecting an object and moving it around or deleting it. I'm probably in the mind of vector graphics, but still I find gimp easier, faster, and more intuitive that inkscape. I can also draw smoothly (using rasterization) with a wacom. – Zohar Levi Mar 22 at 6:32
  • But that's how GIMP works. It's a raster image editor. Layers are crucial to maintaining editability - not just in GIMP but also other raster image editors, such as Photoshop etc. Perhaps GIMP is not the right tool for the work you are trying to do. It sounds more like a task for a vector application. Maybe you'll just have to bite the bullet and use one. – Billy Kerr Mar 22 at 9:44
  • Technically, since it's already keeping track of history and paths, I don't see why not allow object selection. But, fair enough, maybe it's the raster approach/philosophy. I liked your formal solution, it hasn't occurred to me -- might not be convenient but still a solution. I also enlarged the icons in inkscape and set it to dark mode; it looks almost usable now, and I'll give it another go. – Zohar Levi Mar 22 at 19:55
2

Further to my comments, there's no Undo tool in GIMP. However there is a possible work around using the Clone tool to paint back a history state selectively. It's similar to the History Brush which is available in Photoshop. Obviously I'm not sure how useful this will be for your particular case.

If you have an undo step available in the history that you want to use, do the following:

  1. Duplicate the image using Image > Duplicate

  2. Select the original image tab (along the top)

  3. Select the history state you want to use.

  4. Select the Clone tool. In the tool options set the Alignment to "Registered".

  5. Ctrl+click anywhere on the image to set the Clone target

  6. Select the duplicate image tab (along the top)

  7. Paint with the clone tool over the areas you want to undo.

Example: Everything here is on one layer, I am using a history state from the image to Clone out some of the lines I made previously.

enter image description here

| improve this answer | |
1

In a raster image there is no concept of an object, as there is in vector graphics. Operations are not done by recording a definition of actions on a particular entity.

Actually, if there is an object at all it is either the image in total, or an individual pixel.

A pixel in the image is changed in some way, and editors can record this in history, usually grouped by the application of some tool or other. What is recorded in history in all the common raster programs (I believe: I haven't used them all) is the state of changed pixels in that grouping. To be able to meaningfully pull out a past edit would require that the change to a pixel is recorded, or computed backwards. That's possible but actually less helpful than it might seem, as a pixel changed more than once for different reasons (e.g. colour temperature, opacity, shading) is not always going to look right by just deducting a single operation. The pixel arrived at its current state by a process that might only be worked backwards in sequence; changing the sequence could change the final value.

GIMP enables a level of 'objectness' by allowing layers, paths, and channels. Using these (particularly layers, and layer groups), even to what might seem an excessive way, is often the way to go when creating a raster graphic. In time, one learns when to use a new layer, when not to, and when to merge layers down (or occasionally up, if you have the FX Foundary extension) before applying a change to what you have so far.

Using layers a lot also enables you to duplicate a layer, and keep it hidden as a backup in case.. something I use a lot!

Then you can play around with layers by hiding or revealing them, experimenting with various versions of the same 'object' to see what it looks like. Then save the GIMP file, still fully editable, before finally flattening all the layers you want for final output.

| improve this answer | |
  • Thanks for that; now let me throw an idea for you. Define an operation, for example, based on mouse events or something, which gimps already uses for history. Next, gimp automatically creates a hidden layer per operation. Then, you'll have a special tool that when selecting a pixel is able to iterate the hidden layers. It may not always make sense, but mostly it would, e.g. for pencil operations. Granted, so far, I used gimp for rudimentary operations, which I probably should have used inkscape for, so my pipe-line and usage aren't indicative of anything. – Zohar Levi Mar 23 at 20:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.