The purpose of this project is to generate a series of polygons in a browser from information in a database. A single table holds the top-left coordinates necessary to draw the polygons. The image output format should be png (unless something that renders faster is available that also allows transparency and anti-aliasing). Anti-aliasing should be used for smooth diagonal lines.
See attached for detail on the table structure and image rendering.
Please note, the code should be clean, well commented and formatted. I do have some coding experience, so I'd like it such that the code is clean so that I can maintain it myself in the future.
It is vital that this be written for maximum speed in image rendering.
AS THE RESPONSE TO THIS PROJECT HAS BEEN RAPID AND VERY POSITIVE, I’M GOING TO EXPAND THE REQUIREMENTS IN ORDER TO NARROW THE FIELD OF BIDDERS.
Attached is a csv file (polygons.csv) containing the data and an updated listing of the fields.
1. Each polygon(hexagon) will be filled with a specific hexadecimal color held in the field “color”.
2. A black border needs to be maintained between each polygon.
3. Centered across each polygon is a number stored in the field “count”. Font verdana or arial 10pt bold, black.
Secondary Aspects. The following are not required at this time but if you are capable of completing these features, please indicate so and adjust your bid accordingly.
Interactivity: (mouse events)
1. Pointing to a polygon(hexagon) displays the associated “hexnum” field as hover text.
2. Selecting(clicking) a polygon(hexagon) redraws the image and
2a. adds transparency to all colors other than the color associated with the selected polygon (e.g., clicking a red polygon fades all colors but red). The transparency is meant to fade/de-emphasize the other polygons.
2b. adds a bright green border to the selected polygon. This should be thicker than the black border to stand out.
2c. the text centered text (#3 above in “additional requirements”) only appears for polygons of the selected color.