0

I'm trying to edit a simple theme icon, which has full RGB colors and variable transparency in different places.

I also know what color and alpha values specific pixels should have, and want to set them to these values easily from whatever other values they have currently.

Most obvious way to do that seem to be using Pencil (N key) tool, setting size of it to 1px, set color and opacity value, then click on a pixel to "replace" with this color/alpha values.

This does not do what I described above however, as color is mixed with the color that was already set for that pixel, and not replaced at all.

For example, if I pick half-transparent black color, and layer pixel was semi-transparent black already, clicking on it will add both shades together and produce darker color in that pixel than what I selected and what was there already, while desired result is for it to have exact color/opacity values that I picked on the toolbar, regardless of hue/shade that was there previously.

Another easy demonstration can be clicking on same pixel multiple times with 50% opacity selected - desired result would be same color/opacity after first click, but actual result is pixel getting more opaque after each subsequent click.

Workaround can be using other separate tool like eraser to remove exising pixel channel values (make it fully transparent) and then place color/alpha I want there with a single click, but this is very inefficient if I want to adjust color/opacity of many pixels like that.

I understand that GIMP might not be the best tool to do such precise manipulations, but would still want to know how to do this efficiently with it, if possible. Also note that I want layer/image to have transparency, and control its value along with RGB color channels, so discarding it for easy color manipulation is not useful here.

Image to demonstrate what I'd like to do and get (left to right):

  • Initial state of layer and selected tools (left)
  • Desired result (middle)
  • Actual result (right)

Is there a tool/mode/plugin/settings in GIMP that'd allow to do this easily (ideally with just a click after picking RGB+A values for pixel), as shown in the image?

enter image description here

| improve this question | | | | |
  • Sounds like you want to use the alpha lock in the layers panel, although I can't be sure. Can you show what you are trying to do - like a screenshot or something. A picture is worth a thousand words. – Billy Kerr Feb 29 at 22:18
  • Done, thanks for suggestion! – Mike Kazantsev Mar 1 at 1:04
1

This is the standard behavior for all the paint tools, they are composited with the current pixels, and do not replace them completely (unless the tool opacity is 100% of course).

If you want to keep the existing opacity (i.e. just change the RGB values) then alpha-lock the layer, the painting will not affect the alpha channel.

If you want to edit the alpha values then you have to use a layer mask.

| improve this answer | | | | |
  • Thanks for the tips, but yeah, looks like that's just not how any of the basic paint tools work. Putting replacement pixels onto new layer (to use in some capacity later, though probably as-is, not as a mask) is an option, but unfortunately breaks the visual component of GIMP, as you no longer actually see what's supposed to be there on the image. – Mike Kazantsev Mar 1 at 10:06

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.