*** TEXTURE SERVICES *** All services below shall attempt to meet the requirements listed. These services shall operate on images using PHP scripts to let the user modify and merge images from the texture repository as they see fit. ** BLENDING SERVICE ** The blending service shall meet the following criteria: - Allow the user to specify a base image layer of all supported formats (png, jpg, gif) - Allow the user to specify an overlying image layer of all supported formats (png, jpg, gif) - Allow the user to specify how much of the overlying image shall blend in with the base (on scale of 0 [top layer invisible] to 100 [top layer opaque]) - Preserve the alpha transparency of both the bottom layer and top layer accordingly (scaling the transparency of top layer according to scale above) ** TEXT SERVICE ** The text service shall meet the following criteria: - Allow the user to sepcify a base image layer of all supported formats (png, jpg, gif) - Allow the user to specify overlying text over the base layer -- Allow the user to specify font of the text -- Allow the user to specify size of the text -- Allow the user to specify color of the text *-- Allternatively (to option above) Allow the user to specify another image to use as fill for text (textured, instead of colored text) -- Allow the user to specify the alpha blending of the text -- Allow the user to specify the horazontal alignment of text (left, center, right) -- Allow the user to specify the vertical alignment of text (top, middle, bottom) *-- Alternatively (to both options above) allow user to specify absolute position of the text -- Allow the user to specify orientation of text (using rotation angles) ** FILTER SERVICE ** The filter service shall meet the following criteria: - Allow the user to apply one [or more] of the filters listed below to a base image layer of all supported formats (png, jpg, gif) -- Negate -- Grayscale -- Colorize (using specified R, G, B triplet for color) -- Brightness (adjusting the brightness accordingly) -- Contrast (adjusting the contrast accordingly) -- Edgedetect -- Emboss -- Gaussian Blur -- Selective Blur -- Mean Removal ('sketchy look') -- Pixelate (according to value) -- Smooth (according to value) ** MASKING SERVICE ** The masking service shall meet the following criteria: - Allow the user to apply a grayscale bitmap (or png) mask to an image - Allow the user to specify a specific color to mask out *** OPTIONAL SERVICES *** All services below are optional and may not be implemented. However, upon implementation, they shall attempt to meet their specified criteria. ** COMBINATION SERVICE ** The combination service shall meet the following criteria: - Allow the user to combine two or more of the above services to create more complex composite images -- (i.e. blending service combined with text service to allow an overlay to be placed over the image with text on it) ** SAVING SERVICE ** The saving service shall meet the following criteria: - Allow the user to save a copy of images output from any of the above services, and give a unique identifier for short-hand linking. -- This will save the image on the server itself, the image is recalled from the server using the unique identifier assigned during the saving process ** USER INTERFACE ** A simple to use UI shall be provided via an HTML webpage to allow users to easily use these services. It shall meet the following requirements: -- Allow the user to easily work with each of the above listed services (giving them input forms for each of the required and optional parameters) -- Allow the user to preview what the rendered result would look like -- Give the user an easy-to-use link to the image