This document specifies the project modifation to Fogleman's Primitive Application, hereafter called "App".
Req. 1.0 The User Interface shall have a help button to walk the user through how to use primitive.
Req. 1.1 The User Interface shall have an export option to export the image as a paint by numbers.
Req. 1.2 The User Interface shall allow the user to select the number of geometric shapes to form their image.
Req. 1.3 The User Interface shall allow the user to select up to five different geometric shapes.
Req. 1.4 The User Interface shall display the final image with all adjustments.
Req. 1.5 The User Interface shall allow the user to select an image from their device to modify.
Req. 1.6 The User Interface shall have an option for the user to adjust the output image's brightness
Req. 1.7 The User Interface shall have an option for the user to adjust the contrast of the output image
Req. 1.8 The User Interface shall have an option for a user to rotate the output image be a specified degree
Req. 1.9 The User Interface shall have an option for a user to adjust the clarity/blur of the final image.
Req. 2.0 The User Interface shall have an option to retreive an image from a URL.
Req. 2.1 The User shall be able to specify the file extension in which they want their image to be saved.
Req. 2.2 The User shall be able to specify the name of the output file and the location where it will be saved.
Req. 2.3 The User Interface shall have an option for the user to adjust the saturation of the output image.
Req. 2.4 The User Interface shall have 3 different filters to choose from
Req. 2.4.1 The User Interface shall have a negative filter option
Req. 2.4.2 The User Interface shall have a sepia filter option
Req. 2.4.3 The User Interface shall have a gray scale option
Req. 2.4.4 The User Interface shall default the filter option to no filter
Req. 3.0 The App shall for each output image identify each distinct color within the output image using a different number per color.
Req. 3.1 The App shall annotate each output image to show the number corresponding to each area of distict color in the output.
Req. 3.1.1 Each annotation shall consist of text in 8pt font or greater.
Req. 3.1.2 Each annotation shall be presented in each output image directly above the distict color to which the annotation corresponds
Req. 3.1.2.1 Each area of distinct color in the output shall have a corresponding annotation.
Req. 3.2 The App shall output an image consisting of outlines for each area of distict color.
Req. 3.2.1 Output outlines shall be annotated in the same manner as specified for areas of distict color in Req. 2.1.
Req. 3.3 The App shall output a table correlating numbers with distinct colors that appears in the output image.
Req. 3.4 The App shall have levels of difficulty to limit the number of geometric shapes annotated.
Req. 3.4.1 The App shall have an easy level consisting of 50 geometric shapes.
Req. 3.4.2 The App shall have a medium level consisting of 100 geometric shapes.
Req. 3.4.3 The App shall have a hard level consisting of 150 geometric shapes.
Req. 3.4.4 The App shall have an expert level consisting of 300 geometric shapes.
Req. 4.0 The User shall have an option to apply a filter to the output image.
Req. 4.1 The App shall produce an output image in gray scale.
Req. 4.2 The App shall produce an output image in sepia.
Req. 4.3 The App shall produce an output image in negative.
Req. 4.4 The User shall be able to select a filter.
Req. 4.5 The User shall have an option to adjust the brightness of the produced image
Req. 4.6 The User shall have an option to adjust the saturation of the produced image
Req. 4.7 The User shall have an option to rotate the produced image
Req. 4.8 The User shall have an option to adjust the contrast of the produced image
Req. 4.9 The User shall have an option to adjust the blur of the produces image