Create a custom .net image grid control that can be used in a Desktop C# application.
This grid control contains 100 tracks that are identified 1-100. The intent for the control is to output the ID number for each of the selected tracks.
(See attached images for grid control design)
User opens .net executable application and then select an image from a file to bring up into the application. After the image is displayed, the custom grid is displayed over the image based on the default width and height set on the grid control.
The user will choose based on the image to hide or show tracks 51-100 using a toggle button.
The user will then move the grid control if necessary to align the tracks better with the image where track 25 is aligned to the center of the image that has the repeating markers.
The user will then click on the tracks of interest; for each track selected, the selected track border will turn to red.
The user will click a button that will then output the ID numbers associated with the selected tracks.
The user can click on another button that saves the grid with underlying image as a single jpeg image.
**Control Design Requirements:**
The custom .net control is will need to have the following properties/and or functions.
_The Overall Grid Control Requirements_
-The grid control will need to float over an image and allow users to select multiple tracks on the grid control that pertain to the image.
-Property to set default height and width of grid
-Property to set the default width of the tracks (this is the default width for all tracks)
-Ability to move entire grid by holding down left mouse button and dragging
(This functionality will be used to position the grid over the image for fine-tuning)
-Ability to resize the grid and have the tracks scale with the resize (the tracks will scale with the overall resize of the grid; we do not need the tracks to scale independently.
-A function to show or hide the entire grid (toggle on or off in the app)
-A function to hide tracks 51-100 and have the ability to toggle this on or off
-A function that saves as an image (jpeg) the grid and the underlying image as one image
-A function to magnify both grid and image proportionately
(If 3rd party graphics software is needed for this, we can provide Pegasus image tools or you can use your own graphics software, but must provide use with the license to use the graphics software)
_The Track Requirements on the Grid Control_
-Ability to select and deselect tracks on grid using the left mouse button click
(One left click on unselected track, selects the track; another left click on the selected track deselects it; the entire track should be clickable)
-Have the selected tracks border change color to red when selected and to the default color when not selected
-Have a function to get all the ID numbers associated with the selected tracks.
(For example, if the user selects track 2, 24, and 36, have a function that will return an array of the track numbers selected)
-All source code used to create custom grid control
-Custom .net grid control
-License for any 3rd party graphics software used in application
-Above requirements met
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
OS: Windows XP
Programming Language: C#
Application Type: Desktop Windows .Net App