Hi,
you are doing the “mask” almost correctly. So, I think what you want to do is an “overlay”. (am I right?)
Set the masked color (say, black) of the second image and just draw the two images in sequence.
bmp = wx.Bitmap('1.png')
mask = wx.Bitmap('2.png')
mask.SetMaskColour('black')
canvas.AddBitmap(bmp, (0, 0), 'cc')
canvas.AddBitmap(mask, (0, 0), 'cc')