I really love the Transform idea (not the answer of the question but A VALID ANSWER !)
Best of all, it works on Windows (tried on XP right now) and so certainy do the same on macOS (and Linux) !!!
OK: I was (still) am tired I searched in the docs and found the (!) example there to be used near as is (!). It works fine (not like I wanted, bit gaves the expected result). I will let the night and be back by tomorrow morning to adjust the example as I want it.
Nota: there is an error in the code @ RGBSurface.Transform .
Line 2 miss a k in the konstant name.
I had that InvertRect in a memory case (in my brain) and I keep the idea, my brain was focussed to that idea when a multipurpose solution was in the LR !!!.