A photo editing widget which replaces the current code in an existing photo ordering client.

Peruttu Julkaistu May 7, 2011 Maksettu toimituksen yhteydessä
Peruttu Maksettu toimituksen yhteydessä

General requirements:

* Runs on Windows (XP and up), Visual Studio 2008 and MacOSX (universal, 10.5 and up) and Linux (32bit and 64bit) using the Nokia Qt Framework (former Trolltech Qt Framework)

* Integration as a dynamic library or by compiling the source code into the main code

* C++

* Qt 4.7 Framework compatible

The widget will be layed out using Qt StyleSheets, therefore it does not need to be "nice" looking. But we need to be able to adjust positioning and layout of buttons, etc. The widget will be used in a dialog box, all effects should be directly visible. The shown image may be reduced in size give the user a faster feedback. When leaving the dialog, the effect(s) will be applied to the original image.

Some effects will need additional input from the user (e.g. in the form of sliders). They appear when the effect is selected (may be neccessary to open a new subwindow for the effect). Additional idea: Offer the user 8 "variations" (9 mini images with the original in the center and 8 parameter variations around the original) where the user picks his favourite parameters for this effect.

It is possible to only supply the image manipulation model and not the widget itself. Then we need a library with all methods mentioned below.

Target audience:

The widget should provide basic editing and photo manipulation capabilities suitable for a casual and unexperienced user. Additionally, it should offer some "art" effects that users may want to apply to photos in a photo book.

Look Detail description for necessary features.

## Deliverables

Starting with the repeas of the brief description followed my more details:

General requirements:

* Runs on Windows (XP and up), Visual Studio 2008 and MacOSX (universal, 10.5 and up) and Linux (32bit and 64bit) using the Nokia Qt Framework (former Trolltech Qt Framework)

* Integration as a dynamic library or by compiling the source code into the main code

* C++

* Qt 4.7 Framework compatible

The widget will be layed out using Qt StyleSheets, therefore it does not need to be "nice" looking. But we need to be able to adjust positioning and layout of buttons, etc. The widget will be used in a dialog box, all effects should be directly visible. The shown image may be reduced in size give the user a faster feedback. When leaving the dialog, the effect(s) will be applied to the original image.

Some effects will need additional input from the user (e.g. in the form of sliders). They appear when the effect is selected (may be neccessary to open a new subwindow for the effect). Additional idea: Offer the user 8 "variations" (9 mini images with the original in the center and 8 parameter variations around the original) where the user picks his favourite parameters for this effect.

It is possible to only supply the image manipulation model and not the widget itself. Then we need a library with all methods mentioned below.

Target audience:

The widget should provide basic editing and photo manipulation capabilities suitable for a casual and unexperienced user. Additionally, it should offer some "art" effects that users may want to apply to photos in a photo book.

Functionality of the model - Basic adjustments

* adjust brightness/contrast

* adjust color saturation

* adjust color temperature

* "auto-optimize" image by enhancing brightness/contrast/saturation/temperature

* convert to black&white

* convert to sepia

* invert

* colorize with one or two colors

* crop image with respect to a list of preselected aspect ratio or completely free

* rotate by +/-90 or 180 degrees

* rotate freely to adjust horizon (and intelligently cropping keeping the current aspect ratio)

* mirror image

Functionality of the model - Intelligent adjustments

* automatic red-eye-correction (algorithm finds eyes)

* manual red-eye-correction (user selects eyes, then applies correction)

* reduce noise

* sharpen

* adjust local contrast

* make image "warm" or "cold"

Functionality of the model - Art effects

The modul should offer some fancy effects which convert the image to a totally new one. Examples:

* water color painting

* oil painting

* crayon painting

* distort in various different ways (wave, ripple, curl, bend, etc.)

* fog

* hdr effect

* rasterize / pixelate

* unsharpen / blur

* zoom effect

* art paper

* line art

* kaleidoscope

* etc.

Functionality of the widget:

* Zoom in, zoom out, fit to window, 100% view

* Move image inside widget (if larger than window)

* Unlimited undo/redo. It must be possible to write the command stack to a file and re-read it to apply it later to the original image again

API (Mandatory)

* The widget should work on a QImage(or QPixmap), it does not need to read or write images files.

* All effects can be applied to a QImage without user interaction, just by calling API methods.

C-ohjelmointi tekniikka Mac OS Microsoft Projektinhallinta Tietojärjestelmäarkkitehtuuri Ohjelmistojen testaus Windows Desktop

Projektin tunnus: #3296793

Tietoa projektista

Etäprojekti Aktiivinen May 10, 2011