It looks like your bitmap
IDB_BITMAP1
is monochrome while your PNG image is not.
A brush created using a monochrome bitmap (1 color plane, 1 bit per pixel) is drawn using the current text and background colors. Pixels represented by a bit set to 0 are drawn with the current text color. Pixels represented by a bit set to 1 are drawn with the current background color.
So the colours set by
SetTextColor
and
SetBkColor
are used with brushes created from monochrome bitmaps. But with brushes created from non-monochrome bitmaps, the colours from the bitmap are used. If you don't need brushes with multiple colours and want to use a PNG image, convert that to monochrome.