The overall goal of the implementation in this iteration is to provide functionality that enables the user to draw graphical elements into the displayed image. The graphical elements can be drawn in various colors and with various line thicknesses. In addition, users can choose to draw a frame of rectangular or ellipsoidal shape in a user-defined color. The frame is drawn with a solid opaque color on the outside border. Toward the center of the shape, the fill color becomes transparent. The refined requirements are listed in Table 7.1.
The two requirement keys shown in Table 7.1 are implemented in this iteration.
In addition to the already specified requirement it shall be possible to draw the implemented graphical elements in a user-chosen color and line width. Users can adjust the color and width of the elements drawn by changing the color and line width controls that are provided. The drawn elements are automatically updated. The graphical elements are permanently added to the image (or burned into the image) by pressing the Apply button, after which the color and width cannot be changed. The Reset button provides the possibility to roll back to the originally loaded image.
It shall be possible to use advanced graphical objects that use graded or opaque colors. The special effects are used to frame the image and fade in toward the image to show a foglike effect in the border area. The frame effect is applied with a rectangular or ellipsoidal interactive shape. The user can apply various colors, and the size of the border shall be adjustable by using a line width that can be set by the user. The Apply and Reset buttons work similar to the functionality described in the F:image_graphics_annotations key.
Introducing Software Engineering
A .NET Prototype
The Photo Editor Application
GDI+ Graphics Extensions
Advanced GDI+ Operations
Dynamic Loading of Components
Accessing System Resources
Performance Optimization, Multithreading, and Profiling
Building the Web Application with ASP.NET
Security and Database Access