How about this? ImageMultiply @@ Table[ ArrayPlot[RandomReal[{0, 1}, {5, 5}], ColorFunction -> (Blend[{White, color}, #] &)], {color, {Yellow, RGBColor[0, 0.6, 1]}} ] ![Mathematica graphics](https://i.sstatic.net/kt67g.png) The same operation can be done on the Raster data to preserve full scalability: gr = Table[ ArrayPlot[RandomReal[{0, 1}, {5, 5}], ColorFunction -> (Blend[{White, color}, #] &)], {color, {Yellow, RGBColor[0, 0.6, 1]}} ] Graphics[ Raster[gr[[1, 1, 1]]*gr[[2, 1, 1]]], Options[gr[[1]]] ] ![Mathematica graphics](https://i.sstatic.net/6J2Py.png)