Blitz 2D/3DBlitz 2D/3D, 154
154 108 bytes
This produces exactly the same thing as the example given in the question (except for the anti-aliasing at the edges where colors meet).
Graphics 800,533 ColorClsColor 0255,35255,149255 Rect 0,0,267,533Cls Color 2550,25535,255149 Rect 2670,0,266267,533 Color 237,41,57 Rect 533,0,267,533 SaveBuffer(FrontBuffer(),"a.png")
Output is saved in
a.pngdisplayed and it looks like this: