What we need is exactly this. Nothing more, nothing less. Please only rply if you are really sure you can make this.
1. Upload and image
2. Put the image behind a transparent template with transparency inside.
3. Give controls to be able to drag and drop the image within the transparent area
4. Give control to zoom in or zoom out the image within the transparent area
5. Give control to rotate the image.
Please refer to attachment for sample of the template of the flag with transparency. Our user should be able to upload their own artwork with this, so they can preview their logo on our flags.