I need a Joomla component/module for the following functionality:
1. At the beginning the module will display an upload your photo button and a default image on the canvas. Default image will be an external parameter to the module.
2. After the user selects and uploads his/her image, default image will be cleared from the canvas, the image will be placed on the canvas and an imageX will be placed as a transparent layer onto the photo uploaded. This imageX transparent image will also be an external parameter to the module.
3. After step 2, the user will be able to zoom in/out, or move the uploaded image (rotate can be a bonus feature, I can pay approximately %10 more for rotate). The imageX will be kept same during this move, zoom operations. Zoom in/out will be done using the current visible center of the uploaded photo. move operation will be done using drag/drop. The default operation for mouse will be move. There will be 2 other buttons used for zoom in and out, but this will not change mouse action it will immediately zoom in or out. For a better understanding, please keep in mind that the reason of this move and zoom operations is to fit the uploaded photo inside the imageX borders, but as a developer you will not be aware of this.
4. After the user finish with the image (mixed image: his photo and the imageX on top of it as transparent layer), the user will be able to do the following:
a. save the image to a file on disk
b. share it on social network sites, like facebook, and others. This will also include a link to the website home page link retreived from Joomla
c. e-mail it to a friend. This will also include a link to the website home page link retreived from Joomla.