Wouldn't that cause a flicker? You'd see the image drawn full-size whilst you take the screenshot before you put the screenshot element on top?
If constantly adding and removing an element is causing problems you could always try changing the the layer used for the screenshot image element to say -1 e.g.
Code: Select all
vc_dispmanx_element_change_layer(update, element, -1);
before calling the screenshot function, that would put it behind the framebuffer (which is at 0) and so not be visible, then change it back to whatever layer you want for the user to see it.