I’m using the following to convert a picture before printing which works fine on Mac but on Windows it still prints in color. Is there something additional I should be doing or a different approach needed?

if printpuzzcolour = True then
  g.DrawPicture ClipArtp, px, ys, x, y, 0, 0, ClipArtp.Width, ClipArtp.Height
  g.DrawPicture ClipArtp.GrayScaleMBS(2), px, ys, x, y, 0, 0, ClipArtp.Width, ClipArtp.Height
end if

it’s not very efficient to apply the effect each time you draw something.

and you have a picture where the function fails?

I was only colouring grey prior to printing?

Did you breakpoint on GrayScaleMBS and make sure its actually running that code in windows?


Yes confirmed

What version of xojo, windows, mbs are you using and have you checked that GrayScaleMBS works on a canvas paint with that the image you have and does the example work for you?

Xojo 2021V3, Windows 10, MBS21.5 (purchased Nov 2021)
It works on the Mac side so I assumed it has done the conversion