GIMP Version: M
Operating System: Linux
GIMP Experience: Experienced User
I use GIMP to create heightmaps where white is "top" and black is "bottom" and "in-betweens" are grays.
What's happening--you experts will recognize--is that when I delete the pixels in a selection, pixels on the edge of what remains are replaced by a mix of pixels to maintain, I suppose, some sort of "visual" perception--to reduce the detection of "jaggies" I seem to recall from early computer graphics days.
These sorts of pixels play havoc with the image's destiny as a heightmap.
For my purposes, I want to delete pixels on one side of a selection and leave pixels on the other side unaltered.
I've noticed it before and have been somehow able to come up with a Ptolemaic way or another to remove the artifacts, but I just redd that a "selection" (marching ants) is not really a hard edge but the path through the middle of (something important I forgot: no, I remember now) "pixels that are half-selected," where pixels "in" the selection are connoted by "white" (in a selection representation somewhere) and those "outside" the selection as black, or v.v.
I've also seen a reference that says the "QuickMask" tool might be the answer, but the grayscale nature of my images make its highlighted "red-now-gray" area of the QM difficult to detect. Furthermore, I cannot figure out how to paint out the pixels I want to delete with black. "Selection tools" do not all seem to work the normal way in the QuickMask.
I gleaned the essentials of QM from
this tutorial; namely, that:
One makes a selection in an image and then clicks on the red-bordered QuickMask icon in the lower-left corner of your image.
A translucent red mask will appear around the selection, representing the outside of the selection.
When the dashed QuickMask button is pressed again to go back into normal selection mode, anything red will not be selected, and anything clear will be.
While the mask is active [you can see it listed, and visible by default, in the Channels tab], GIMP operates on the mask.
The documentation says:
In QuickMask mode, the selection is shown as a translucent screen overlying the image, whose transparency at each pixel indicates the degree to which that pixel is selected. By default the mask is shown in red, but you can change this if another mask color is more convenient. The less a pixel is selected, the more it is obscured by the mask. Fully selected pixels are shown completely clear.
In QuickMask mode, many image manipulations act on the selection channel rather than the image itself. This includes, in particular, paint tools. Painting with white selects pixels, and painting with black unselects pixels. You can use any of the paint tools, as well as the bucket fill and gradient fill tools, in this way. Advanced users of GIMP learn that “painting the selection” is the easiest and most effective way to delicately manipulate the image.
As an example, I want to select a circle in an overlying all-white layer to frame what is beneath, while leaving all the edge pixels of the layer white, and not sprinkled with shades of gray.
If I do it by selecting a circle and then deleting the selection, as I said it replaces some edge pixels with gray values.
In QuickMask, I tried to Select a circle I want to delete, invert the selection to have the QM be the circle itself, and then bucket-fill that circular mask with black. I expect then when I go disable the quick mask, the layer acted upon will have no pixels (or transparent I guess) in the circle, and the edges will be unchanged. QuickMask does not permit painting the non-QM area.
(And now I'm thinking I should try it with a Plain Old Black and White Layer Mask. Indeed, this gives me what I want: On a toy white image, I mask out the center to black/transparent, and the outside stays white, even at the edge. EDIT: I spoke too soon; I went back to try it on my real-world image and the pixels did change.)
Earlier I had an idea that the behavior might arise from some Image setting, such as:
Image->Precision->PerceptualGamma
Image->ColorMgmt->Enable
or possibly in Edit->Preferences, say:
ColorMgmt->RenderingIntent [Perceptual, say, as against AbsoluteColorimetric]
but changing them, at least while in-picture, did not change the behavior I saw.
The question buried in there is:
Given my desire to work on heightmaps that will not have grayscales auto-adjusted by GIMP algorithms are there some settings I could make to get this?
Thank you.