What brush property would have the effect of "grabbing some color different from the one actually selected just by hovering over said color?"

(MyPaint is the latest AppImage, unless there’s some very recent one, Debian Buster/Sid GNU Linux, running on some crazy Openbox, I guess the “DE” variable may be KDE, though, because I prefer mostly QT apps. Wacom bamboo “boring,” the not-fun version, whatever is its name besides “bamboo.”)

I have this brush, a custom-made one, derived from some old ones of the “Ico-dY” family, I guess specifically “OC Brush,” and the “problem” is reproduced on that too. Between quotes because it’s something I don’t like, even though it may be on purpose.

What happens is that color may be set to 100% black, with no hue whatsoever, on the white scale, but whenever you momentarily hover the cursor over some colored area (on the same layer), when you first start drawing, it would have grabbed some of that color, and “tint” the color you’ve set for a little while. I think it’s more noticeable the darker the value of the actually chosen color is, and particularly in pure black, but it will affect hues as well.

All the “color” settings of said brushes are set to “0,” though. I think a couple of them had some “random color” setting, but I’ve set it to 0 and saved. Does anyone know what other setting could be changed to eliminate this effect?

This is the smudge effect in action - it basically always samples the color of the canvas to update a “smudge color”.

This may not seem very intuitive, but apparently this is how it always worked (not 100% sure, haven’t checked the history in full).

The relevant parameters are:

  • Smudge
  • Smudge length
  • Smudge length multiplier
1 Like

Thanks! Yeah, there’s smudge on a “custom” input, which seems to be just pressure.

Now I should tweak some more because apparently it was all the time “smudging” the alpha, so without it it’s also more opaque.

Is the smudge always inherently “capturing” the color as the cursor is hovering, or is possible to set up it so that it will only do so with contact?

After a quick look at the code, if the smudge length value is at 1.0 or higher, the smudge color won’t be updated. Maybe that can be used to get the behavior you want, but I fear the last color picked up will still be used for the first dab, and how quickly that color will be replaced by the color on the canvas (in combination with the brush color, depending on the smudge factor), depends on the smudge length and the smudge multiplier.

The first couple of dabs could be excluded by mapping the radius to the “Stroke” input such that the initial dabs are too small to be rendered. I’m sure there are many ways to accomplish this, but can’t vouch for the quality of the result.

1 Like

Thanks, I’ll do some tests.