VHDL type mismatch error
Arrays of arrays are a bit of a pain. Can you use a 2-d array?  You'll still need some slicing functions but it might be more pleasant.

Are you hoping to synthesise this?  It looks like it'll be very large, if you want to be able to overwrite arbitrary areas of your image in a single clock tick, which seems to be the case with the code you describe.