However, I don’t even know where to begin with the Black&White problem, and when I draw this “mirrorImage” it does not appear (suggesting that maybe this 10 year old solution no longer applies: Mirror images).

Thanks for the suggestion, this gets me close.
However, now the mirroring occurs about the x-axis at the centre of the image, like this: [ d | b ], and I’m trying to flip the whole image around, i.e. convert: [ __d __ ] into: [ __b __ ]

After spending some time doing some trail and error with different values, (with the scale ->translated functions), I don’t seem to be getting anywhere.

I’m sorry, I dont quite understand your problem… IMHO flip and mirror is the same, but maybe I’m wrong.
The mirroring was done by adding a negative value to a scale matrix. That maps any X value to it’s negative. Now the image is out of the destination, that’s why I addred the translation by one time the width, so the image is in place again (all as suggested in the thread you linked).
Maybe have a look at AffineTransform class, what you can do with it.