Register
Submit a solution
The challenge is finished.

Challenge Overview

Welcome to the Photo Editing WPF .NET Application code challenge!

 

Overview

 

The goal of this challenge is to build a modern Windows Application using WPF for editing photos. The Photo Editing System is an application that can rapidly process photos of Participants in a sponsorship system so they can be used in printed material or on the sponsorship system’s website. The end user can rapidly rotate, color correct, and crop the photo, among other operations.
 

There is an existing application but it’s outdated (see sample). We like how fast and practical it is, working through keyboard shortcuts and solving UI goals fast, but the look and feel needs a refinement, as well as features polishment and UI improvement. Therefore, we’re currently running a design challenge to come up with alternate themes/ concepts.

 

In parallel, we would like to start building the required photo editing capabilities as part of this challenge. In a subsequent challenge, we’ll build the other features required for this app and tie the new design together with the WPF .NET app that’s produced by this challenge.

 

Technology Stack

 

The application should be built using the following technology stack:

 

- Visual Studio 2015 Community Edition

- C# Windows Presentation Foundation (WPF)

- Target .NET Framework version 4.6

- A free, documented and supported image editing library that supports C#. We recommend looking at this library but if you want to use another one, please seek an approval in the forums.     

 

Please use standard WPF components and focus on simplicity of user interface considering that the UI elements and layout will be changed based on the design challenge.

 

Input & Output Image Format

 

- All photos will be .jpg format.  

- The application should auto-size the original image to 488 x 638 pixels, 150 dpi, 24 bit depth which will be the largest size for the photo

- The application should also create a thumbnail conforming to the following requirements - size no larger than 30K, 200 x 261 pixels, 96 dpi, 24 bit depth


 

Application Flow

 

- Follow the existing sample as reference for UI flow and content.

- Select a photo for processing
- A child information displayed is (read only, no need to edit this information):
-- Nat Office (National Office): 10 digits number

-- Child Number: 10 digits number

-- Name: string

-- Gender: string (Male/ Female)

-- Birthdate: MM/DD/YYYY.

-- Project Name: string.

-- Case Number: 10 digits number.

-- Last Photo Date: MM/ DD/YYYY date format.

- User can select a folder for batch editing.
- User can see an oval outline as a sizing and centering guide

 

Photo Editing Requirements

 

- User can edit the photo using shortcuts. Please provide a Windows App navigation with the following items for photo editing (the effects of editing won’t need a visual cue, the effects apply automatically to the picture through the menu or shortcuts):
-- Rotate: the photo in either direction, either by fine or coarse increments, or by 90 degrees at a time.

-- Zoom / Crop: Final size of largest photo is 488 x 638, so display a box of that size on the screen and allow the user to zoom or crop the image within that target box. Also include an oval guide for the size of the facial area.
-- Auto Adjust (Auto Levels): automatically adjust levels based on selected portion of the image deemed to be "white" or by finding the whitest portion automatically.

-- Gamma: adjust gamma level of photo.

-- Hue: adjust hue.
-- Saturation: adjust color saturation.

-- Brightness: adjust brightness.

-- Revert: revert to the original photo.

 

All operations must be selectable by shortcut keys. For example: H for "Hue" to bring out greens, Shift-H for "Hue" to bring out more reds. All operations will use simple one-press shortcuts for adjustments in increments and the "shift + shortcut" key sequence to decrease.

 

Primary User Operations
 

User can choose a photo, edit a photo (all features mentioned above), save a photo, reset a process and exit the application. All these operations should bring a modal window with a confirmation/notification message and action buttons.


- Ignore Scan Photo, Load Photo, View Last and Clear All buttons at the bottom.
- Ignore the status bar, not needed.

 


Review Criteria

 
  • Adherence to requirements mentioned above


Final Submission Guidelines

- Submit your zipped application source code

- Submit a deployment and verification guide

- Submit a demo video showing your solution in action

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30056095