Click here to Skip to main content
12,750,191 members (37,103 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


Posted 22 Oct 2012

Ultrabook Photo Editor

, 22 Oct 2012 CPOL
Rate this:
Please Sign up or sign in to vote.
Photo Editor designed for Multitouch Ultrabooks

Editorial Note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.


It is rather simple to draw lines using fingers on a touchscreen. It is a different story when we want to mark the edges of an object in a photograph. It is hard enough to border people in a picture using a mouse. It is almost impossible to accurately follow the borders of a person in a picture using a finger. The goal of this tool is to allow photo editing to be fun and intuitive. The tool has extended capabilities yet keeps maximum space for the image by using gestures instead of buttons and menus.

Category: Entertainment, Productivity, Retail We can make this a Metro App but currently it is not. We can also have the same engine library working on both Desktop app and Metro app.


Using Ultrabook Photo Editor is really easy. We start by opening any photo, preferably of loved ones. In this example I used a photo taken a month ago of our new baby boy:

Nice picture you can't see

We can fix and decorate the entire photograph and we can also apply special features on specific items in the photo. Using the finger we go around the people and objects which we want to edit. An algorithm I created especially for this product will follow you and mark the correct edges for you even if your finger wanders to the sides. For this demo I mark the edges in red and also keep the original finger markers in light green. You can see the marking process in realtime on this video: I don't have a PC with touchscreen so I used the mouse pointer instead.

The product is this image: another nice picture

As you can see the green markers on the edge of the closet really wander away from the borders but Ultrabook Photo Editor knows what we meant.

Next we double-tap the closet on the left to activate it. Now Zoom-In would enhance the features of the closet and Zoom-Out would soften these features, smoothing the noise but keeping the important details. We should then get this edition:

yes... nice photo

As you can see the noise on the closet is gone but the handles are still clear. This feature also does wonders to facial features (see an example here:

Double-Tap outside the active item to go back to item selection and Double-Tap Uriah's baby-shirt to activate it. Slide up and down to change color tone and for example have a baby with a blue shirt instead of a brown shirt. Slide right and left to pick the overlay pattern on top of the shirt: 

cool photo

When a pattern is selected Slide up and down to change its color and features.

The overlay can also be semi-transparent or auto adjusted to the background color.


This is all written in C#. I only found out about this project a few days ago so the algorithm is not fully tested and calibrated yet (and doesn't even have image correction before processing).

If anyone is wondering about video, the answer is yes: we can implement this for video as well but it would have to be C++ and would take more than a week to complete.

This is best suited for Ultrabooks because an Ultrabook is a stylish device and we increase productivity by using the intuitive gesture features.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Asaf Shelly
United States United States
Microsoft MVP: Technical Computing R&D (8 years Digital Media until 2010)
Intel Black-Belt: Parallel Programming
Owner of Multicore and Parallel Computing gourp on Linkedin
Driver Developer, Firmware, UX Expert, Algorithms.
ASM, C, C++, C#, JS, Asp.Net, BC++

You may also be interested in...

Comments and Discussions

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170215.1 | Last Updated 22 Oct 2012
Article Copyright 2012 by Asaf Shelly
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid