If you are only allowing one image per post, then you just need a single image field for your post data type. All photo options go to that field, overwriting the previously added photo if they decide to use a different method after starting with another. Format the single image element so that no matter where the picture is coming from, it’s still styled the way you want. (You can force a rescale).
I would actually have all three upload options next to each other versus spread out on the page. Have a general label: Upload a photo; and each input labeled as you have it in the screenshot.
If you are allowing multiple images per post - say one from each method - Then you’ll need to decide how you want multiple images to be displayed on this edit post page. Likely a repeating group? But the same database logic applies - your single image field is now a “list of images” rather than one. Each input/upload method ADDS an image to that list.
Is this what you’re trying to achieve? In the end, all methods save an image, so your element to display doesn’t know the difference. Either go with a single image element to read the single image field or go with a repeating group that reads your single image field which is a list of images - add and stylize a single image element in the cell since each cell will then display each image (no matter where it came from) the same way.