I have done some more testiung on this and have looked into using a PNG and decoding (as described here: MicroPython Images) but that also seems to cause memory issues when trying to display the image. I have also looked at flush but it doesnt apear to be able to take an image input but rather a single colour.