ILI9225

The setBackgoundColor() is intended for text not graphics.

i.e. like you would say in Adafruit_GFX:

    tft.setTextColor(TFT_WHITE, TFT_YELLOW);  //white text on yellow background
    tft.setTextColor(TFT_RED);  //red text on transparent background
    tft.setTextColor(TFT_RED, TFT_RED);  //foreground == background means transparent

Using the full-fat drawBitmap() method is relatively slow in Adafruit_GFX.
It is faster to draw a rectangle in the background colour. Then plot drawBitmap() transparently.

Some hardware libraries will provide a hardware drawBitmap() for the full-fat foreground and background.

David.