I expect the line "SetColor(255,0,255)" has a lot to do with it - since that color has zero green component.
Also please note that the color that you use for SetColor also affects any images that you draw, working like a `tint` color. For normal drawing you would make sure SetColor is White, ie 255,255,255 before you draw. Otherwise, the SetColor 255,0,255 (which is your magenta color) affects the drawing and will basically turn all your green values to 0.
You'll need to add SetColor 255,255,255 before you DrawImage at some point in the program, probably inside your Draw() method.
Also please note that the color that you use for SetColor also affects any images that you draw, working like a `tint` color. For normal drawing you would make sure SetColor is White, ie 255,255,255 before you draw. Otherwise, the SetColor 255,0,255 (which is your magenta color) affects the drawing and will basically turn all your green values to 0.
You'll need to add SetColor 255,255,255 before you DrawImage at some point in the program, probably inside your Draw() method.