I think just using useRaster=TRUE
inside the basic graphics:image
function is fine.
This works, and very quickly (as opposed to not rasterizing a large matrix), with a matrix or a RasterLayer object:
image(mydata, useRaster=TRUE, col={whatever})
I should have tried that before going off into wrapper functions.