Basic Explanation: To build a control which will allow a user to "build" an image using a background image(selected by the user) and up to 7 text fields overlayed onto the image. The final image would be an invitation, or Event Card which would then be submitted as an image to an email address.
More Detail: A page would be displayed where a user can enter their email address and a reference (mandatory - string - varchar(100)). Ability to populate this information from a link too the page would be required so that if the page was called from somewhere else, these details could be loaded automatically.
They could then select from a list of background theme images via a selection box. (Images could be stored in a seperate folder).
They could then add text to up to 7 text input boxes (labels of the input boxes would be associated with the theme selected)
As they enter the data into the text boxes the image would be updated to show the text on the image.
Each text item could be manipulated for: Font, Weight, Font Colour, Font Style, Alignment.
As changes are made they would need to be able to be "Previewed" in the main image window via a "Show Me" button.
A "Submit" button would prompt the user to confirm they were happy with the design and then the image would be created as a high quality image (JPEG, PNG, TIF, GIF) whichever was easiest and submitted to a configurable email address/recipient list within the control.
CSS Styling would need to be included so this could be changed to suit the page(s) the control was being used within.
CSS Styling elements would need to include the following:
Main Image Border
Main Image Blank Background
"Show Me" button image url
"Submit" button url
Text input box background
Text Input Box Border
Text Input Box Font
Text Input Box Font Style
Text Input Box Font Weight
Text Input Box Font Size
Initially looking for 1 control to handle the above. However, in the future there will be more work to provide more detailed controls which handle different sized images, different number of text boxes, adjustable positioning etc.