GNOME Bugzilla – Bug 322791
Cloning from a fixed source location
Last modified: 2005-12-07 21:18:20 UTC
Currently, there is no clone mode to achieve the following: While painting, the source location should always stay the same. This is similiar, but not equal, to cloning from a pattern source. The mode that comes closest is non-aligned, but this doesn't work for painting - especially not for stroking. I'm going to attach a screenshot that demonstrates the difference and a patch which adds the modification. It introduces a new align mode (called "Fixed" for now) for the clone tool.
Created attachment 55396 [details] Demo for new clone mode Two straight lines with clone tool from left to right, clone source centered on the blossom in the middle of the upper image.
Created attachment 55397 [details] [review] Patch for 'Fixed' align mode
FYI, I know that there is a strange behaviour when brush splotches (more precisely: the bounding box of a subsequent one and the visible part of the previous one) from the same stroke are overlapping.
There is no clone mode to achieve what you describe but that can be done in a different way, by saving the selection as a brush and then painting with it. The nice thing about the clone tool is that you do not have to worry about brush spacing and overlapping strokes since the source (pattern or image in aligned or non-aligned modes) "moves" as you paint. With your patch, this is not true anymore and therefore you have to care about what happens when the strokes overlap. While I think that the general idea of your patch is interesting, I am not sure that it belongs to the clone tool. I'm not sure that most users would expect to find this option in the clone tool either. Maybe some of them would look for an easy way to create a temporary brush? If this is the case, then it could be better to provide an easier interface for creating temporary brushes (i.e., brushes that do not add up and consume more and more disk space in the user dir).
I tend to disagree. Actually, all paint tools should have "clone" as source option (at least internally). In the end, painting with solid color is the same as painting with a 1x1 pixel pattern. A "temporary brush" is something entirely different. Brush shape and color source should be orthogonal concepts, and not be mixd up. I vote for implementing this in the clone tool so the code is there once the paint cores get unified even more.
I don't see a problem with overlapping strokes, that's simply how gimp brushes work. Please commit to HEAD.
Painter etc have support for something like this. Basically, you can take a given brush shape (brush tip? brush mask?) and can dab it into a palette image, and the brush shape will pickup the colors from the pallette image where it was dabbed. In a way, it's more or less dynamically creating pixmap brushes. I like this idea. note, in the Painter case, it allows you to grab colors from a special palette image/dialog. I'm not sure it allows this for regular images. But given the option, I say make it do it from regular images (also, thats already there thanks to clone as the patch demonstrates)
2005-12-07 Michael Schumacher <schumaml@cvs.gnome.org> * app/paint/gimpclone.c * app/paint/paint-enums.c * app/paint/paint-enums.h: added alignment mode for cloning from a fixed location source as suggested in bug #322791.
Ignore my statement about not seeing the problem. There is a problem that's fixed now: 2005-12-07 Michael Natterer <mitch@gimp.org> * app/paint/gimpclone.c (gimp_clone_motion): In fixed mode, paint incremental so the individual brushes are properly applied on top of each other. Fixes bug #322791.