Krita: Present and Future - kde.org...Krita: Present and Future ... I The KOffice painting and image...

21
What is Krita The present: Krita 1.6 The future: Krita 2 Krita: Present and Future A look at some of Krita’s more recent developments, both in the present 1.6 branch and in the new 2.0 branch Bart Coppens FOSDEM 2007 Bart Coppens Krita: Present and Future

Transcript of Krita: Present and Future - kde.org...Krita: Present and Future ... I The KOffice painting and image...

What is KritaThe present: Krita 1.6

The future: Krita 2

Krita: Present and FutureA look at some of Krita’s more recent developments,

both in the present 1.6 branch and in the new 2.0 branch

Bart Coppens

FOSDEM 2007

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

What is Krita

The present: Krita 1.6The short road since the previous releaseThe feature thaw of the 1.6 series

The future: Krita 2Qt4 and KDE4KOffice2 technologiesKrita design revisited

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

What is Krita

I The KOffice painting and image editing application

I Started in 1999

I Most recent release: Krita 1.6.2 on February 21, 2006

I In Swedish, Krita means ‘chalk’ or ‘crayon’.

I http://www.koffice.org/krita/

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

What happened in the last year?

We released 2 major versions

I Release of KOffice 1.5.0 on April 11, 2006

I Release of KOffice 1.6.0 on October 16, 2006

Some of the new features in Krita 1.6.0 include

I Layer masks

I Perspective grid → perspective cloning, manipulation

I Curves: magnetic outline, bezier

I Improvements in loading and handling huge files

I New filters (lens correction, better blur, ...)

I Tablet pressure curve editing

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

Layer masks

I Merge parts of two layers without destroying the originalcontents

I Masks out a part of the regular composite operation

I Paint on it like a regular greyscale layer, or like on a selection

I Can prevent you from ‘drawing outside the border’ (createfrom selection)

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

Perspective cloning

I Regular cloning: does not keep into account perspectivechanges

I Perspective cloning adds a grid that visualises ‘perspective’

I Cloning is done, but the cloned part is transformed accordingto the perspective grid

I Unfortunately: no multiple grids can be combined (GUI wouldsuck even more, but perhaps for Krita 2)

I A good demonstration of how it works athttp://www.koffice.org/krita/videos.php

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

Curves

I Developed during last summer’s Google Summer of Code

I Has a added generic framework for drawing curves in Krita

I First application: Bezier curves

I Second application: Magnetic outline

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

Curves: Magnetic Outline

I Create a curve following your mouse

I Tries to follow edges in theneighbourhood of the mouse

I Inserts nodes at regular intervals nearthe mouse position, tries to detect thebest line between two nodes

I The more contrastful and sharplyoutlined the area, the better the result

I Hard-to-find feature: Press Ctrl for‘Manual mode’ (move nodes, insert,remove)

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

The feature thaw of the 1.6 series

I What is a feature thaw?Allowing new features to be added to a stable branch, wronglyspelled strings can be fixed.

I We unfroze for 1.6.1, 1.6.2 and maybe for the upcoming 1.6.3

I Allows for long-lived branches to be more alive than otherwise.

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

Levels in 1.6.1

I Began as a wishlist entry in the bugsdatabase: http://bugs.kde.org/show bug.cgi?id=129789

I Someone claimed it would be easy toimplement this, we called his bluff

I Related to Brightness/Contrast

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

The short road since the previous releaseThe feature thaw of the 1.6 series

Smudge in 1.6.2

I Implemented after user request

I Very easy to actually write that code

I ‘Simple Smudge tutorial’. First part athttp://www.kdedevelopers.org/node/2594

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

KDE4

Qt4 and KDE4 will offer some nice new technologies that KOffice2will be able to use.

I Qt4’s better threading, KDE4’s ThreadWeaver

I KDE4’s Phonon: Playing of audio and video objects inKPresenter

KOffice also moved some code to KDELibs: Kross, so that allKDE4 applications will be able to use this.

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

Flake

I Flake Shapes: everything yousee is a shape

I KWord → everything is aFlake shape, even pages

I Krita → embedded Flakeshapes (vector graphics, text)

I KPresenter → everything is aFlake shape

I Lightweight embeddability,compared to a full-fledgedKPart like KOffice 1.x

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

Pigment

The KOffice color management library. Was originally Krita’slibkritacolor.

I Offers some basic colorspaces hardcoded: Alpha, L*a*b*

I KOffice-wide plugins for the common colorspaces: RGB,CMYK

I Krita-specific plugins for natural media, HDR

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

Resolution

I Often requested feature

I The Flake redesign was the idealmoment for adding workingresolution to Krita.

I ‘20cm + 15mm’?

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

Layers: masks, selections and filters - The Present

Our current 1.5+ design needs some reworking:

I Per-layer selections, wanted or not?

I Filter layers work on the entire stack below them

I Masks are very static, badly integrated in the layerbox

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

Layers: masks, selections and filters - The Future?

There are proposals for 2.0 that could fix some of this:

I Selections: ‘controversial’ issue. Selections as a specialsub-layer? Global selection?

I Let normal layers have filters as a per-layer stack of filters

I Masks could be just some layer-filter → easy to manipulate,equal integration with filters

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

OpenRaster

I Better cross-application exchange of raster data for the freesoftware world (.kra, .xcf are too specific)

I A possible solution: ‘OpenRaster’(http://create.freedesktop.org/wiki/index.php/General multilayered bitmap exchange format)

I Very experimental stage at the moment

I Support for the GIMP might be delivered partly by GEGL(http://gegl.org/)

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

Dynamic brush

I Proposed enhancement of the current ‘brush’ tool

I Add different actions to the tablet input

I Implemented as a separate paint operation

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

So where can you help?

You don’t need to be able to code:

I Report bugs (also for alpha and beta versions!)

I Write documentationI Report about usability issues (developers often don’t see the

problems with their own applications anymore)I Hard to discover featuresI Obvious actions not used for a featureI Contra-intuitive GUI design

I Keep bugging us if we don’t fix them ;-)

Bart Coppens Krita: Present and Future

What is KritaThe present: Krita 1.6

The future: Krita 2

Qt4 and KDE4KOffice2 technologiesKrita design revisited

Questions?

Bart Coppens Krita: Present and Future